从NSArray中查找indexOfObject

4

我有一个包含自定义对象的NSArray。 每个对象都有几个变量:pk、amount、date等。

我想获取具有pk变量中最高数字的对象。 我可以使用以下方法:

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

这个代码可以从最高的pk中获取实际值。现在我需要获取该对象的索引。当数组只有1个数据变量时,我曾看到过使用indexOfObject方法,但在这种情况下我该如何使用它呢?

谢谢


嗨Darren,你可能需要在自定义类中重写 - (BOOL)isEqual:(NSObject *)方法。当你在NSArray中调用indexOfObject方法时,它会调用isEqual方法。因此,您可以检查self.pk与传递对象的pk值是否相等。 - Charith Nidarsha
1个回答

11

例如,使用-indexOfObjectPassingTest:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接