我有一個NSMutableArray
pages
與多個對象(的Page
實例)。每個Page
實例都有一個UUID和其他屬性,如內容。當page
更改時,除UUID外,所有內容都可能更改。更改後,我想通過使用indexOfObject:
找出pages
中某個Page
的索引。我用的UUID,以確定我正在尋找的指數,這工作得很好:使用該對象的屬性之一找到一個對象的索引以陣列
NSMutableArray *uuids = [[NSMutableArray alloc] init];
for (int i = 0; i < [self.pages count]; i++) {
[uuids addObject:[[pages objectAtIndex:i] uuid]];
}
NSUInteger indexOfPage = [uuids indexOfObject:page.uuid];
現在的問題是,如果有一個更優雅的方式來做到這一點。我真正需要的是具有給定UUID的pages
中Page
對象的索引。
有 - (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
或indexOfAccessibilityElement:<#(id)#>
但我真的不知道這些如何能幫助我解決我的問題。
謝謝Hejazi。只是想知道我是否真的需要isKindOfClass。我已經實施了Ahsley's,它工作得很好,但是也許你的答案是正確和節省的。你能解釋你爲什麼要檢查isKindOfClass嗎? –
以防萬一。所以,當我訪問'uuid'時,我知道它在那裏,我沒有和另一個類的對象進行比較。 – Hejazi