我正在使用适用于Xcode 7 Beta 2的代码。刚刚获得Beta 3,现在我遇到了似乎是Xcode错误的问题?
对于我的公开课之一...
override public func observeValueForKeyPath...
方法不会覆盖其超类中的任何方法
所以我删除了“替代”:
public func observeValueForKeyPath
方法与具有相同Objective-C选择器的超类NSObject中的方法冲突
哈!我被第一个错误骗了。不会编译。有什么帮助吗?
将声明中的[NSObject:AnyObject]
更改为[String:AnyObject]
。
如果从NSKeyValueObserving.h
复制定义,则您的替代将如下所示:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
// ...
}
注意:对于这种方法,通常可以按Cmd+Shift+O
并直接转到Open Quickly ...弹出字段,可以在其中复制/粘贴任何定义,并且Xcode会搜索在项目/ SDK中。在这种情况下,请注意iOS范围。