我寫了I協議,它的目的是有一些@optional
方法,但swift編譯器崩潰。這工作:@objc協議崩潰swift編譯器
protocol SessionDelegate {
// TODO these should all be optional
func willOpenSession(session: Session);
func didOpenSession(session: Session);
func didFailOpenningSession(session: Session, error: NSError!);
func willCloseSession(session: Session);
func didCloseSession(session: Session);
}
這不:
@objc protocol SessionDelegate {
@optional func willOpenSession(session: Session);
@optional func didOpenSession(session: Session);
@optional func didFailOpenningSession(session: Session, error: NSError!);
@optional func willCloseSession(session: Session);
@optional func didCloseSession(session: Session);
}
老實說,有@objc
足以崩潰的編譯器。有什麼解決方法嗎?
您的協議是否必須擴展NSObject協議? –
嘿,你有'Session'聲明爲'NSObject'的子類嗎? –