179得票11回答
Swift中是否可用键值观察(KVO)?

如果是这样,那么在使用Objective-C中的键值观察时,是否存在任何关键差异?

165得票4回答
什么是视图控制器之间通信的最佳方式?

作为一个新手,对于objective-c、cocoa和iPhone开发总体来说,我非常希望能够从这门语言和框架中获得最大收益。 我使用的资源之一是斯坦福大学提供的CS193P课程笔记。它包括讲义、作业和示例代码,而且由于该课程是由苹果开发人员授课的,因此我绝对认为它是“权威”的来源。 课程...

156得票7回答
为什么要使用ivar?

通常我看到这个问题是以相反的方式提出的,比如Must every ivar be a property?(我喜欢bbum对这个问题的回答)。 我几乎总是在我的代码中使用属性。然而不时地,我会与一名承包商合作,他已经在iOS上开发了很长时间,是传统的游戏程序员。他编写的代码几乎没有声明任何属性...

143得票11回答
如何判断一个对象是否已经附加了键值观察器

如果你让一个 Objective-C 对象去removeObservers:某个键路径,而该键路径尚未注册,它会出现以下报错信息,如下所示: Cannot remove an observer <observerObject> for the key path "th...

87得票3回答
KVO和ARC如何移除观察者

如何在 ARC 下从对象中移除观察者?我们只需添加观察者然后忘记移除它吗?如果我们不再手动管理内存,那么我们应该在哪里取消观察? 例如,在视图控制器上:[self.view addObserver:self forKeyPath:@"self.frame" ...

83得票9回答
我怎样进行键值观察并在UIView的框架上获得KVO回调?

我想要监测一个 UIView 的 frame、bounds 或 center 属性的变化。我该如何使用 Key-Value Observing 来实现这个功能?

76得票7回答
观察NSMutableArray的插入/移除操作

一个类具有类型为NSMutableArray的属性(和实例变量),使用synthesize访问器(通过@property)。如果你使用以下方法观察该数组: [myObj addObserver:self forKeyPath:@"theArray" options:0 context:NUL...

47得票2回答
Swift 4的observeValue(forKeyPath:...)方法实现方法

我一直在寻找一个例子,但是我看到的东西在我的情况下不起作用。 以下代码的等效代码是什么: TBDobject.addObserver(self, forKeyPath: "keyPath", options: [.new], context: nil) override public f...

47得票4回答
观察UIDatePicker中的更改

我注意到UIDatePicker没有委托可供观察更改。有没有一种方法可以检测到选择器中的更改,而无需确认任何内容,就像它旋转并落在新数字上的那一刻,我想能够检测到那个时刻。我考虑过键值观察,但我认为没有属性是即时更改的。

45得票3回答
addObserver (KVO) 中上下文参数的最佳实践

当您观察属性时,我想知道在KVO中应该设置什么上下文指针。我刚开始使用 KVO,从文档中并没有学到太多的东西。我在这个页面上看到: http://www.jakeri.net/2009/12/custom-callout-bubble-in-mkmapview-final-solution/ ...