cocoa – 如何在NSMutableArray中实现对象的键值观察

cocoa – 如何在NSMutableArray中实现对象的键值观察,第1张

概述我需要一些帮助来尝试在复杂的对象层次结构上理解KVO.让我设置一下场景. MyClass对象具有包含MyPerson对象的可变数组属性.我想观察MyClass的myPeople属性的变化.此外,我想观察MyPerson对象中包含的所有属性.这是类定义. @interface MyClass:NSObject{ NSMutableArray *myPeople;}@property(n 我需要一些帮助来尝试在复杂的对象层次结构上理解KVO.让我设置一下场景. MyClass对象具有包含MyPerson对象的可变数组属性.我想观察MyClass的myPeople属性的变化.此外,我想观察MyPerson对象中包含的所有属性.这是类定义.

@interface MyClass:NSObject{   NSMutableArray *myPeople;}@property(nonatomic,retain)NSMutableArray *myArray;@end

这是MyPerson对象,

@interface MyPerson:NSObject{   Nsstring *myname;   Nsstring *myLastname;}@property(nonatomic,retain)Nsstring *myname;@property(nonatomic,retain)Nsstring *myLastname;@end

以下列方式观察我感兴趣的属性是否正确?

MyClass *myClass = [[MyClass alloc] init]; //myPeople is filled with myPerson objectsMySchool *mySchool = [[MySchool alloc] init];[myClass addobserver:mySchool      forKeyPath:@"myPeople"             options:NSkeyvalueObservingOptionNew         context:NulL];[myClass addobserver:mySchool      forKeyPath:@"myPeople.myname"             options:NSkeyvalueObservingOptionNew         context:NulL]; //I am unsure about this one[myClass addobserver:mySchool      forKeyPath:@"myPeople.myLastname"             options:NSkeyvalueObservingOptionNew         context:NulL]; //I am unsure about this one
解决方法 不,这不对.您必须分别观察添加到阵列的任何对象的属性.因此,无论何时向数组添加对象或从数组中删除对象,都必须在添加/删除的对象中添加/删除观察者. 总结

以上是内存溢出为你收集整理的cocoa – 如何在NSMutableArray中实现对象的键值观察全部内容,希望文章能够帮你解决cocoa – 如何在NSMutableArray中实现对象的键值观察所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1020398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存