相关疑难解决方法(0)

如何将Swift结构作为参数传递给Objective-C方法

我有一个Objective-C方法接受类型的参数,id我想传递一个Swift结构.

ObjcClass.m 文件:

@implementation ObjcClass
+ (void)addListener:(id)listener {
    // Do something with listener
}
Run Code Online (Sandbox Code Playgroud)

DemoStruct.swift 文件:

struct DemoStruct {
    func registerAsListener() {
        ObjcClass.addListener(self) // Can't find a way to do this
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的编译错误消息:

类型'DemoStruct'不符合协议'AnyObject'

所以我的问题是,如何让Objective-C方法接受Any而不是AnyObject有这样的东西?

struct objective-c swift

10
推荐指数
2
解决办法
6945
查看次数

标签 统计

objective-c ×1

struct ×1

swift ×1