jjzjj

addobserver

全部标签

ios - NSNotification - 在发布通知之前检查是否添加了观察者

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion我的代码在以下位置崩溃:[[NSNotificationCenterdefaultCenter]postNotificationName:kgotNotificationobject:dictionary];我的假设是我在添加观察者之前发布通知。[[NSNotificationCenterdefaultCenter]add

ios - 如何让 UIView 检测到父尺度的变化?

有没有一种方法可以自动检测UIView何时改变它在屏幕上的表观比例,因为它的父级之一改变了比例?请注意,我不是在问如何检测UIView的自己的比例属性是否发生变化,而是它的父级之一的变化? 最佳答案 是的。有几种方法可以做到这一点(甚至不用搜索,我就知道我们可以通过KVO、RxSwift或ReactiveCocoa来做到这一点。)。所以,是的,如果您不喜欢响应式编程,请使用KVO。但我也在想你可以只使用你的父View类发送的NotificationCenter。我忘记了我在想的另一种方式,我正要在这里打字,但它不见了,很难过。无论如

ios - "[NSNotificationCenter defaultCenter] addObserver"最好放在哪里

我习惯于在初始化方法中加入“[NSNotificationCenterdefaultCenter]addObserver”。而且我已经看到很多其他人放在viewDidLoad中。是否有任何说明或最佳实践?梁 最佳答案 老实说,这并不重要。我的意见是最好在viewDidLoad中使用,但就像@EricS所说的那样,如果您想在View未显示时收到通知,那将无法正常工作。所以这实际上只取决于您喜欢如何使用它以及您希望何时收到这些事件的通知 关于ios-"[NSNotificationCente

ios - 在 viewWillAppear/viewWillDisappear 中添加观察者/移除观察者

我在viewWillAppear中调用addObserver,在viewWillDisappear中调用removeObserver。它似乎工作正常。但是,在Xcode崩溃日志中,我收到一些报告称,当我调用removeObserver时,一些客户崩溃了(昨天发生了21次崩溃......)。我没有收到任何客户报告说他们崩溃了,所以我认为这是相对间歇性的。我阅读了将removeObserver调用封装在@try/@catchblock中的建议,我可能会求助于此,但我很好奇为什么我的removeObserver失败了。我认为这是因为(不知何故)没有添加通知。(还有其他原因吗?我是iOS新手,

objective-c - iOS:addObserver 和 superview 查询

我有一个名为subview1的uiview。根据某些情况,我将其作为subview添加到其他几个View中。现在我有以下代码[subView1addObserver:selfforKeyPath:@"superview"options:NSKeyValueObservingOptionNewcontext:nil];我的问题是从未调用过obserValueForKeypath函数-(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary*)changecontext:(v

ios - 具有对象参数的特定文本字段的Swift 2 addObserver

根据我的理解,addObserver方法的object参数是您要从中接收通知的对象。大多数时候,我将其视为nil(我假设这是因为所有对象都需要指定类型的通知)。在我的特殊情况下,我在屏幕顶部和屏幕底部都有一个文本字段,我希望View仅在用户点击底部文本字段而不是顶部文本字段时向上移动。所以我在viewWillAppear中调用了下面的方法funcsubscribeToKeyboardNotifications(){NSNotificationCenter.defaultCenter().addObserver(self,selector:"keyboardWillShow:",name

ios - KVO addObserver 到CoreData对象的一对多关系

大家好多年阅读StackOverflow,现在我决定加入。我正在努力解决这个问题:我有一个“Depot”实体,它有两个对多关系“Persons”和“Trucks”。我想观察在给定“Depot”对象的情况下,其中一种关系(并了解是哪一种关系)发生变化(插入、删除)。目前我正在这样做:[mydepotaddObserver:selfforKeyPath:@"Trucks"options:NSKeyValueObservingOptionNewcontext:nil];和[mydepotaddObserver:selfforKeyPath:@"Persons"options:NSKeyVal

ios - KVO addObserver 到CoreData对象的一对多关系

大家好多年阅读StackOverflow,现在我决定加入。我正在努力解决这个问题:我有一个“Depot”实体,它有两个对多关系“Persons”和“Trucks”。我想观察在给定“Depot”对象的情况下,其中一种关系(并了解是哪一种关系)发生变化(插入、删除)。目前我正在这样做:[mydepotaddObserver:selfforKeyPath:@"Trucks"options:NSKeyValueObservingOptionNewcontext:nil];和[mydepotaddObserver:selfforKeyPath:@"Persons"options:NSKeyVal

ios - 带有自定义属性 getter 的 KVO 通知

我正在尝试在iOS中收听UITextView上的editable属性。在UITextView.h的header中,editable属性定义为:@property(nonatomic,getter=isEditable)BOOLeditable;为了监听KVO通知,我使用了addObserver模式,我将keyPath作为NSStringFromSelector(@selector(isEditable))传递,这样如果我正在使用Xcode就会警告我未定义的选择器。注册isEditable键路径顺利进行,但在更改TextView上的editable属性后,我从未收到属性更改的通知。我正在

ios - 带有自定义属性 getter 的 KVO 通知

我正在尝试在iOS中收听UITextView上的editable属性。在UITextView.h的header中,editable属性定义为:@property(nonatomic,getter=isEditable)BOOLeditable;为了监听KVO通知,我使用了addObserver模式,我将keyPath作为NSStringFromSelector(@selector(isEditable))传递,这样如果我正在使用Xcode就会警告我未定义的选择器。注册isEditable键路径顺利进行,但在更改TextView上的editable属性后,我从未收到属性更改的通知。我正在