Мне нужна помощь, чтобы разобраться в KVO на сложной иерархии объектов. Позвольте мне установить сценарий. Объект MyClass имеет свойство изменяемого массива, которое содержит объекты MyPerson. Я хочу наблюдать за изменениями в свойстве myPeople класса MyClass. Кроме того, я хотел бы также изучить все свойства, содержащиеся в объекте 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
Правильно ли наблюдать свойства, которые я ' m заинтересован в следующем?
MyClass *myClass = [[MyClass alloc] init]; //myPeople is filled with myPerson objects
MySchool *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