【发布时间】:2017-01-19 00:54:23
【问题描述】:
在尝试迁移到 Swift 3 时(在一个包含大约一半/一半 swift/objective-c 代码的项目中),我遇到了一个问题。我们在objective-c中声明这个特定的协议是这样的:
@protocol AProtocolDeclaration <NSObject>
- (void)someEventHappened:(nullable NSError *)error;
@end
Swift 编译器为上面的协议声明生成以下内容:
public protocol AProtocolDeclaration : NSObjectProtocol {
public func someEventHappened(_ error: Error?)
}
当在concrete class (in swift) 中实现协议并尝试定义生成的方法时,我不断收到类似错误:无法转换Error to NSError。我不确定如何解决此错误。谁能推荐一下?
【问题讨论】:
-
看看here
-
请更具体。您的错误“无法将错误转换为 NSError”是运行时错误还是编译时错误?当然,需要导致问题的代码。并且不要提及“类似”的东西。在控制台上复制确切的错误消息。
标签: ios objective-c swift3 swift-protocols nserror