我的 swift 函数的返回类型必须继承自 NSObject

Posted

技术标签:

【中文标题】我的 swift 函数的返回类型必须继承自 NSObject【英文标题】:Must my swift function's return type inherit from NSObject 【发布时间】:2016-03-06 22:43:02 【问题描述】:

我在 Helper 类型的 swift 对象中有一些 swift 函数,它返回类 Parameter 的对象。 Parameter 定义为:

class Parameter  

我的功能是这样的:

func getParameter() -> Parameter  

Helper 访问方法时,只有那些不返回任何内容的方法才会出现。但是,getParameter 是不可调用的。我的假设是它的返回类型对 Obj-C 是不可见的。必须 Parameter 扩展 NSObject 才能工作吗?

【问题讨论】:

【参考方案1】:

如果您想让您的 Swift 类对 Objective-C 可用,它们必须从 Objective-C 桥接类继承。这就是为什么你的 ViewControllers 总是可用的,对于独立类,你必须将它们的超类设为NSObject。您还可以通过标记它们在代码中特别注明它们是桥接的:@objc class Parameter: NSObject

【讨论】:

以上是关于我的 swift 函数的返回类型必须继承自 NSObject的主要内容,如果未能解决你的问题,请参考以下文章

自定义类型的 ChildNode 在 Swift Playground 上返回 Nil

面向对象 封装 继承

面向对象-封装继承

具有自定义类类型的 Swift CoreData 保存属性

swift 函数类型+高阶函数

swift 函数类型+高阶函数