类型检查

时间:2018-06-09 11:30:21

标签: swift uitableview compiler-errors segmentation-fault

今天我将我的开发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
    }

现在我不再得到错误,即使它说强制转换为相同类型没有效果。
有人可以向我解释一下吗?

0 个答案:

没有答案