今天我将我的开发mac升级到Mac OS High Sierra 10.13.5并将其升级到最新的Xcode版本。现在没有任何改变,我的项目不再编译。
我得到Command failed due to signal: Segmentation Fault: 11
。
在堆栈跟踪的底部,它说
1. While type-checking 'tableView(_:titleForHeaderInSection:)' at /.../BodyweightTableViewController.swift:227:14
2. While type-checking expression at [/.../BodyweightTableViewController.swift:234:15 - line:234:123] RangeText="self.bodyweights[startIndex..<self.bodyweights.count].indices.contains(endIndex) && (endIndex-startIndex) < 7"
命名方法如下所示:
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
...
var titleHeader = ... # some initialisation
... # some calculations that may alter the header
return titleHeader
}
我完全不知道这里的问题是什么。我在这里看了一些其他的问题,但他们似乎没有帮助我。
/编辑:我改变了这一行
while self.bodyweights[startIndex..<self.bodyweights.count].indices.contains(endIndex) && (endIndex-startIndex) < 7 {
endIndex += 1
}
到这个
while (self.bodyweights[startIndex..<self.bodyweights.count] as! ArraySlice<Bodyweight>).indices.contains(endIndex) && (endIndex-startIndex) < 7 {
endIndex += 1
}
现在我不再得到错误,即使它说强制转换为相同类型没有效果。
有人可以向我解释一下吗?