协议中的 Typhoon 和 @objc 限制
Posted
技术标签:
【中文标题】协议中的 Typhoon 和 @objc 限制【英文标题】:Typhoon and @objc limitation in protocols 【发布时间】:2015-07-27 19:38:56 【问题描述】:对象 C 不支持的协议和类型是否有官方解决方法
例如,我有一个返回反应式可可信号生成器的协议
public protocol PLoginService
func login(username:String,password:String) -> SignalProducer<Bool,NSError>
如果我在协议上使用@objc,那么我会得到Objective C不支持返回类型的编译器错误。我会有很多这样的构造,所以我想知道我可以按顺序做什么受益于台风魔法
【问题讨论】:
【参考方案1】:当前版本的 Typhoon 是一个反射和动态依赖注入容器,因此依赖于完整的 Objective-C 运行时。这意味着,不幸的是,所有将通过 Typhoon 的协议都必须具有 @objc
指令。此外,Typhoon 注入的任何东西都必须是 Objective-C 兼容的类型。
我们目前正在对 Typhoon 的纯 Swift 版本进行研发,非常欢迎您在 Github 上参与该项目的开发。
【讨论】:
这些天我没有太多时间,但我想我可以提供帮助。我阅读了 wiki 中的贡献页面,但我不知道如何提供帮助以上是关于协议中的 Typhoon 和 @objc 限制的主要内容,如果未能解决你的问题,请参考以下文章
我们可以限制安全通道协议 (SCP) 02 通信中的“安全级别”吗?
天蓝色中的 DocumentDB(通过 MongoDB 协议)集合大小限制