[英]Swift @objc protocol with optional function implemention causes build error
我有以下協議(我將其用作對情節提要的IBOutlet引用,因此必須與@objc一起使用)。
/// This protocol implemented by views that contain a **main**
collection view.
@objc protocol CollectionInViewMethods {
/// Notify the view that scrolling occurred.
@objc optional func setSortingMenuFrame(newFrame: CGRect)
}
當我嘗試使用swift語法訪問可選函數時,如下所示:
self.cineamsView.setSortingMenuFrame?(newFrame: CGRect())
哪個結果
Command failed due to signal: Segmentation fault: 11
在強制展開構建成功的同時(!而不是?)
有什么理由要發生嗎? 我看到目標C確實支持協議中的可選功能,在我看來,這就像一個Xcode錯誤...
我認為您需要先解開該函數,然后再調用它(如果僅使用Objective-C協議將其橋接),看它是否不是nil
該博客對此進行了解釋: http : //useyourloaf.com/blog/swift-optional-protocol-methods/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.