Ниже приведен пример, содержащий два массива, которые возвращают разные индексы для своего lastObject.
NSMutableArray *ary0 = [[NSMutableArray alloc] initWithArray:[NSArray arrayWithObjects:[NSDecimalNumber decimalNumberWithString:@"2"],[NSDecimalNumber one], nil]];
NSLog(@"%d",[ary0 indexOfObject:[ary0 lastObject]]);
Журналы 1, как и ожидалось.
NSMutableArray *ary1 = [[NSMutableArray alloc] initWithArray:[NSArray arrayWithObjects:[NSDecimalNumber one],[NSDecimalNumber one], nil]];
NSLog(@"%d",[ary1 indexOfObject:[ary1 lastObject]]);
Журналы 0.
Я не вижу, как индекс lastObject в ary1 равен 0, даже еслив ary1 есть два одинаковых объекта.Может кто-нибудь объяснить, почему это имеет смысл, или указать на очень глупую ошибку, которую я совершаю?Спасибо!