我正在尝试使用用Swift编写的iOS应用程序使用FCOfflineQueue(一种用于在离线时排队网络请求的持久框架)。我应该继承FCOfflineQueue
类并在我的子类中重写以下方法 -
- (BOOL)executeOperation:(int64_t)opcode userInfo:(NSDictionary *)userInfo;
在我自己的队列中,我从FCOfflineQueue
继承了,在Swift中声明这个问题时遇到了麻烦。我正在做以下事情 -
override func executeOperation(opcode: Int64, userInfo: NSDictionary) -> Bool
它说 - 这个方法不会覆盖其超类中的任何方法。
如果我做了以下 -
@objc override func executeOperation(opcode: Int64, userInfo: NSDictionary) -> Bool
它说 - 使用选择器'executeOperation:userInfo:'的覆盖方法具有不兼容的类型'(Int64,NSDictionary) - >布尔“
我认为int64_t
相当于Swift中的Int64
。这与转换有关吗?
感谢任何帮助。
答案 0 :(得分:0)
尝试覆盖如下:
override func executeOperation(opcode: Int64, userInfo: [NSObject : AnyObject]!) -> Bool {
return false
}
从具有参数化类型的NSDictionary对象桥接时 对于Swift字典,生成的字典是类型的 [对象类型。如果NSDictionary对象未指定参数化 类型,它被桥接到[NSObject类型的Swift字典: AnyObject]。