首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:重写公共函数observeValueForKeyPath

错误:重写公共函数observeValueForKeyPath
EN

Stack Overflow用户
提问于 2015-07-09 12:34:49
回答 2查看 5K关注 0票数 19

我使用的代码与Xcode 7 Beta 2一起工作。刚刚获得Beta 3,现在我得到了这个问题,似乎是Xcode的bug?

为了我的一堂公开课。

代码语言:javascript
复制
override public func observeValueForKeyPath...

方法不会重写其超类中的任何方法

所以我去掉了“覆盖”:

代码语言:javascript
复制
public func observeValueForKeyPath

方法与具有相同Objective-C选择器的超类NSObject中的方法冲突

哈!我被第一个错误欺骗了。无论哪种方式都不会编译。有什么需要帮忙的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-09 12:51:06

将声明中的[NSObject:AnyObject]更改为[String:AnyObject]

票数 21
EN

Stack Overflow用户

发布于 2015-09-24 09:47:33

如果定义是从NSKeyValueObserving.h复制的,则替代将如下所示:

代码语言:javascript
复制
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
    // ...
}

注意:对于像这样的方法,您通常可以按Cmd+Shift+O键,然后直接快速打开...可以复制/粘贴任何定义的弹出字段,Xcode将在项目/SDK中搜索它。在这种情况下,请注意iOS作用域。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31308209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档