ios - 协议(protocol)中的 Typhoon 和 @objc 限制

标签 ios typhoon

是否有针对对象 C 不支持的协议(protocol)和类型的官方解决方法

举个例子,我有一个返回响应式(Reactive) cocoa 信号生成器的协议(protocol)

public protocol PLoginService {

      func login(username:String,password:String) -> SignalProducer<Bool,NSError>
}

如果我在协议(protocol)上使用@objc,那么我会得到编译器错误,指出 Objective C 不支持返回类型。我会有很多这样的构造,所以我想知道我可以做什么受益于台风魔法

最佳答案

Typhoon 的当前版本是反射式动态依赖注入(inject)容器,因此依赖于完整的 Objective-C 运行时。不幸的是,这意味着所有将通过 Typhoon 的协议(protocol)都必须具有 @objc 指令。此外,Typhoon 注入(inject)的任何内容都必须是 Objective-C 兼容类型。

我们目前正在对 Typhoon 的纯 Swift 版本进行研发,非常欢迎您参与 Github 上该项目的开发。

关于ios - 协议(protocol)中的 Typhoon 和 @objc 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31661815/

相关文章:

ios - Monotouch Three20 应用程序启动器或绑定(bind)

iphone - TabBarController setSelectedIndex - 将调用哪个委托(delegate)方法

ios - 台风 - 由工厂协议(protocol)支持

ios - 台风 + swift : Crash when using run-time arguments

ios - Apple 文档示例代码中的 __block 是什么意思?

objective-c - "This class is not key value > coding-compliant for the key previewB"但我已经删除了预览B

iphone - 隐藏来自 fiddler 的 iOS HTTPS 调用

git - cocoapods 安装过程中引用不是树 : f0a7. ..3e8c

objective-c - 台风:如何让一个实例符合生产协议(protocol),另一个实例用于测试?

ios - Bridging-header.h 导致 Command/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1