此代码在编译时生成分段错误: 11错误:
class Test: UICollectionViewLayout {
var sublayout: Sublayout?
override func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool {
sublayout?.shouldInvalidate?(forNewBounds: newBounds, currentBounds: collectionView!.bounds)
return true
}
}
@objc protocol Sublayout {
@objc optional func shouldInvalidate(forNewBounds: CGRect, currentBounds: CGRect)
}有什么想法吗?
发布于 2016-09-26 23:29:17
仅供参考,在将我的Swift 2.2 iOS应用程序转换为Swift3/Xcode8后,我得到了一个Segfault11。在2.2版本下,该应用程序编译时没有出现错误或警告,所以我认为S3/XC8还没有准备好进行真正的工作。
发布于 2017-04-19 17:23:13
是的,在迁移到Swift3/Xcode8之后,我也遇到了同样的问题。我可以在设备和模拟器上构建/运行,但在归档结束时,出现了分段错误11,堆栈转储指向一些协议方法,这肯定不是原因。
但是,我仍然可以通过设置当前目标Swift编译器>代码生成>优化级别>版本>无-Onone进行归档

我认为搞乱优化级别不是正确的事情,但在我们得到稳定的Xcode版本之前,它应该是可以的。
https://stackoverflow.com/questions/39668446
复制相似问题