[英]Swift @objc protocol cannot be used as a type conforming to protocol 'Equatable' because 'Equatable' has static requirements
[英]Type “SwiftClass” cannot conform to protocol “ObjcProtocol” because it has requirements that cannot be satisfied
我有一個Objective-C協議,我試圖在Swift類中實現。 例如:
@class AnObjcClass;
@protocol ObjcProtocol <NSObject>
- (void)somethingWithAnArgument:(AnObjcClass *)arg;
@end
當我嘗試在這樣的Swift類中符合它時:
@objc class SwiftClass: NSObject, ObjcProtocol {
// ...
}
我得到以下可怕的編譯器錯誤:
類型“SwiftClass”不符合協議“ObjcProtocol”,因為它具有無法滿足的要求。
我該如何解決這個問題?
確保該協議引用的任何類都包含在橋接頭中。
當協議中使用的類型之一(協議本身,返回類型,參數類型)未包含在Swift橋接頭中時,會發生此錯誤。
由於@class AnObjcClass
前向聲明,Objective-C類可以愉快地實現此協議,但似乎Swift類不能實現使用僅向前聲明的類的協議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.