返回從NSArray
的對象是誰的名字作爲參數傳遞給函數的類的實例。
現在我有這樣的功能:
+ (id)objectOfType:(NSString *)name fromArray:(NSArray *)array
{
for (NSObject* instance in array)
{
if ([instance.className isEqualToString:name])
return instance;
}
return nil;
}
不過,由於我可以在一個NSArray
[array valueForKeyPath:@"className"]
變換對象的數組對象的類名稱的數組這個簡單的方法調用
不應該有一個更簡潔的方式來檢索具有指定類名稱的對象..?
取決於你想要做什麼。數組是一個排序列表,當前實現返回第一個匹配。當然可以有更多。它可以基於具有謂詞過濾器的集合來完成,但會返回所有匹配的子集或子集。你總是在尋找第一場比賽還是全部? – pco494
任何匹配(如在代碼示例中)會 - 歡呼 – ATV
在這種情況下,我認爲您的實現適合於目的。我認爲創建和解析謂詞很可能比上述方法慢得多,至少對於合理大小的數組(幾百個對象)來說。 – pco494