错误:override public func observeValueForKeyPath
Error with: override public func observeValueForKeyPath
我正在使用适用于 Xcode 7 Beta 2 的代码。刚刚获得 Beta 3,现在我遇到了这个看起来像 Xcode 错误的问题?
为了我的一个 public 类...
override public func observeValueForKeyPath...
Method does not override any method from its superclass
所以我取出 "override":
public func observeValueForKeyPath
Method conflicts with method from superclass NSObject with the same Objective-C selector
哈哈!我被第一个错误骗了。不会编译任何一种方式。有什么帮助吗?
将声明中的 [NSObject:AnyObject]
更改为 [String:AnyObject]
。
如果定义是从 NSKeyValueObserving.h
复制的,您的覆盖将如下所示:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
// ...
}
注意:对于这种方法,您通常可以按Cmd+Shift+O
并直接进入快速打开... 任何定义可以是 copy/pasted 和 Xcode 的弹出字段将在 project/SDK 中搜索它。在这种情况下注意 iOS 范围。
我正在使用适用于 Xcode 7 Beta 2 的代码。刚刚获得 Beta 3,现在我遇到了这个看起来像 Xcode 错误的问题?
为了我的一个 public 类...
override public func observeValueForKeyPath...
Method does not override any method from its superclass
所以我取出 "override":
public func observeValueForKeyPath
Method conflicts with method from superclass NSObject with the same Objective-C selector
哈哈!我被第一个错误骗了。不会编译任何一种方式。有什么帮助吗?
将声明中的 [NSObject:AnyObject]
更改为 [String:AnyObject]
。
如果定义是从 NSKeyValueObserving.h
复制的,您的覆盖将如下所示:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
// ...
}
注意:对于这种方法,您通常可以按Cmd+Shift+O
并直接进入快速打开... 任何定义可以是 copy/pasted 和 Xcode 的弹出字段将在 project/SDK 中搜索它。在这种情况下注意 iOS 范围。