2011-12-10 34 views
4

我有一個填充了自定義對象的NSArray。 每個對象都有幾個變量:pk,數量,日期等。從NSArray查找indexOfObject

我想獲取pk變量中編號最高的對象。 我可以利用這樣做:

NSUInteger maximumpk = [[bets valueForKeyPath:@"@max.pk"] intValue]; 

這使我從最高PK的實際值。現在我需要獲取該對象的索引。當數組只有1個變量的數據時,我已經看到了indexOfObject,但是在這種情況下如何使用它呢?

感謝

+0

嗨達倫,您可能需要重寫 - (BOOL)的isEqual(NSObject的*)在您的自定義類。當你在NSArray中調用indexOfObject時,它調用isEqualMethod。因此,您可以檢查self.pk與傳遞對象PK值的相等性。 –

回答

11

使用-indexOfObjectPassingTest:,例如:

NSUInteger idx = [bets indexOfObjectPassingTest:^(id obj, NSUInteger idx, BOOL *stop) { 
    return [obj pk] == maximumpk; 
}]; 
+0

謝謝,這個伎倆。 – Darren