簡體   English   中英

類型“SwiftClass”不符合協議“ObjcProtocol”,因為它具有無法滿足的要求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM