我想知道是否有更好的方法來設置NSMutableArray屬性值中的每個對象?Objective C - NSMutableArrays - 對於每個
我對xCode很新,我有一個C#背景。我知道C#& Linq可以提供一個非循環的解決方案..我想知道這是否也可以與Objective C
我搜索這裏和那裏...所有我能找到的是一種方法來獲取對象陣列,其中屬性X等於someValue中..
我想知道是否有更好的方法來設置NSMutableArray屬性值中的每個對象?Objective C - NSMutableArrays - 對於每個
我對xCode很新,我有一個C#背景。我知道C#& Linq可以提供一個非循環的解決方案..我想知道這是否也可以與Objective C
我搜索這裏和那裏...所有我能找到的是一種方法來獲取對象陣列,其中屬性X等於someValue中..
隨着鍵 - 值編碼:
[self.players setValue:@NO forKey:@"isEliminated];
設置陣列的每個元件上的屬性。
請注意,即使屬性是(標量)BOOL
,您必須在此處使用Objective-C 號碼對象@NO
。當設置 屬性時,它會自動「翻譯」到NO
。
謝謝,這正是我正在尋找的... – Baral
那麼,你可以創建一個loblockss解決方案和NSArray
s - (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block
消息。例如:
[self.players enumerateObjectsUsingBlock:^(Player *p, NSUInteger idx, BOOL *stop) {
p.isEliminated = NO;
}];
但是,這幾乎不可讀。在我看來,對這類工作使用循環是很好的。
您可以使用makeObjectsPerformSelector:方法上的NSMutableArray設置所有對象的變化值的NSMutableArray:
[self.players makeObjectsPerformSelector:@selector(setIsEliminated:) withObject:@NO];
@約翰,我知道我不能......該NSMutableArray裏充滿了NSObject的(球員)。 ... – Baral