我有一种情况,我有一个要被子类化的类,我们称之为“SuperClass”。这个类有一个成员,我们称之为“数组”。SuperClass 的子类将添加数组作为“数组”的成员。SuperClass 需要能够:
a) 知道何时将子数组添加到“数组”中,并将自己作为观察者添加到子数组中
b) 知道这些子数组何时被修改(插入和删除)并能够做出相应的响应。
有没有一种特殊的方法可以做到这一点?
我有一种情况,我有一个要被子类化的类,我们称之为“SuperClass”。这个类有一个成员,我们称之为“数组”。SuperClass 的子类将添加数组作为“数组”的成员。SuperClass 需要能够:
a) 知道何时将子数组添加到“数组”中,并将自己作为观察者添加到子数组中
b) 知道这些子数组何时被修改(插入和删除)并能够做出相应的响应。
有没有一种特殊的方法可以做到这一点?
每次添加或删除新对象时,您都可以使用 NSNotificationCenter 发布通知。但是您需要继承 NSMutableArray。
为主数组(包含子数组的那个)创建一个 NSMutableArray 的子类,覆盖 inserObject:atIndex 方法并发布一个通知,您可以调用 @"subarray inserted" 例如。
您需要 NSmutableArray 的另一个子类来覆盖 insertObject:atIndex 和 removeObject:atIndex 以使用另一个名称发布通知。
如果您需要代码示例,请告诉我。