簡體   English   中英

NSMutableArray大小的偵聽器和觀察器

[英]listener and observer on size of NSMutableArray

是否可以在Objective-C中執行類似的操作,比如說我的數組計數為X,然后我希望它在發生這種情況時觸發函數Y? 那么NSArray計數的監聽器呢?

我相信您可以創建一個偵聽器,偵聽數組中的更改。 當其觸發時,您可以檢查數組的大小,並在滿足條件的情況下調用方法Y。

您可以編寫協議(例如,將其稱為MutableArrayDelegate ),然后擴展NSMutableArray (確保適當地調用[super ...] ),以便在發生某些事件時調用委托方法。

例如,要在每次添加對象時添加一個偵聽器:

@protocol MutableArrayDelegate
- (void)mutableArrayDidAddObject:(NSMutableArray *)mutableArray;
@end

@interface ObservableMutableArray : NSMutableArray
@property (nonatomic, assign) id<MutableArrayDelegate> delegate;
@end

@implementation ObservableMutableArray
@synthesize delegate;

- (void)addObject:(id)anObject
{
     [super addObject:anObject];
     [delegate mutableArrayDidAddObject:self];
}
@end

然后,您可以通過將委托分配給子類並實現協議來監聽事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM