类型 "SwiftClass" 不能符合协议 "ObjcProtocol" 因为它有无法满足的要求
Type "SwiftClass" cannot conform to protocol "ObjcProtocol" because it has requirements that cannot be satisfied
我有一个 Objective-C 协议,我正试图在 Swift class 中实现它。例如:
@class AnObjcClass;
@protocol ObjcProtocol <NSObject>
- (void)somethingWithAnArgument:(AnObjcClass *)arg;
@end
当我尝试像这样在 Swift class 中符合它时:
@objc class SwiftClass: NSObject, ObjcProtocol {
// ...
}
我收到以下可怕的编译器错误:
Type "SwiftClass" cannot conform to protocol "ObjcProtocol" because it has requirements that cannot be satisfied.
我该如何解决这个问题?
确保该协议引用的任何 类 都包含在您的桥接头中。
当协议中使用的一种类型(协议本身,return 类型,参数类型)未包含在您的 Swift 桥接头中时,会发生此错误。
Objective-C 类 由于 @class AnObjcClass
前向声明可以愉快地实现该协议,但似乎 Swift 类 无法实现协议它使用仅前向声明的 类。
我有一个 Objective-C 协议,我正试图在 Swift class 中实现它。例如:
@class AnObjcClass;
@protocol ObjcProtocol <NSObject>
- (void)somethingWithAnArgument:(AnObjcClass *)arg;
@end
当我尝试像这样在 Swift class 中符合它时:
@objc class SwiftClass: NSObject, ObjcProtocol {
// ...
}
我收到以下可怕的编译器错误:
Type "SwiftClass" cannot conform to protocol "ObjcProtocol" because it has requirements that cannot be satisfied.
我该如何解决这个问题?
确保该协议引用的任何 类 都包含在您的桥接头中。
当协议中使用的一种类型(协议本身,return 类型,参数类型)未包含在您的 Swift 桥接头中时,会发生此错误。
Objective-C 类 由于 @class AnObjcClass
前向声明可以愉快地实现该协议,但似乎 Swift 类 无法实现协议它使用仅前向声明的 类。