幾個關於下面的代碼問題:@implementation NSArray(Find)和它給出的警告究竟是什麼?
@implementation NSArray (Find)
- (NSArray *)findAllWhereKeyPath:(NSString *)keyPath equals:(id)value {
NSMutableArray *matches = [NSMutableArray array];
for (id object in self) {
id objectValue = [object valueForKeyPath:keyPath];
if ([objectValue isEqual:value] || objectValue == value) [matches addObject:object];
}
return matches;
}
1-是什麼(找)呢?我在做這些實現時看到過類似的其他詞語,那麼究竟是幹什麼的?這是一個關鍵字,還是隻爲我知道?
2 - 我的代碼從這裏:http://probablyinteractive.com/2009/2/13/keypaths.html但是,當我將它放在我的項目,並調用它
NSArray *filterResults = [allResults findAllWhereKeyPath:@"firstname" equals:firstname];
它返回警告「的NSArray」不能爲「-findAllWhereKeyPath迴應:等於: '如果我運行它,它會崩潰。 我把代碼放在.m的開頭,在.h並將其更改爲NSMutableArray,但我不斷收到警告。那麼,我該如何解決這個問題呢?
「查找」是您添加到NSArray的類別。那麼你在哪裏添加了.m和.h文件?你是什麼意思你把它改爲NSMutableArray? – 2010-10-27 05:22:13
最後一句話只是說明了我所做的所有試驗和錯誤,試圖讓它發揮作用。 – elcool 2010-10-27 06:03:29