我在Swift中有一个实现协议的类:
class SwiftClass: SwiftProtocol {
func test() {
NSLog("Test");
}
}
这是简单的协议
@objc protocol SwiftProtocol {
func test()
}
当我导入它并使用它作为Objective-C类时,会出现此错误
使用未声明的标识符“ SwiftClass”
有没有办法导入实现协议的类?我究竟做错了什么?
从https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4-ID35的Swift Type Compatibility部分:
创建从Objective-C类继承的Swift类时,可以从Objective-C自动获得与Objective-C兼容的类及其成员(属性,方法,下标和初始化程序)。
这与您观察到的一致:如果SwiftClass
extend,它可以正常工作NSObject
。用这种方法解决问题有什么问题吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句