我有一个接受类型参数的 Objective-C 方法id
我想向它传递一个 Swift 结构。
ObjcClass.m
file:
@implementation ObjcClass
+ (void)addListener:(id)listener {
// Do something with listener
}
DemoStruct.swift
file:
struct DemoStruct {
func registerAsListener() {
ObjcClass.addListener(self) // Can't find a way to do this
}
}
我得到的编译错误消息:
类型“DemoStruct”不符合协议“AnyObject”
所以我的问题是,如何让 Objective-C 方法接受Any
代替AnyObject
有这样的事吗?
我发现最好的事情就是包装在 Box 类中
public class Box<T> {
let unbox: T
init(_ value: T) {
self.unbox = value
} }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)