У меня есть следующий метод экземпляра, который должен возвращать NSUInteger:
- (NSUInteger)getCurAnsPos {
NSUInteger CAP = 999;
NSArray *curCAS = [[GameData gameData].curData valueForKey:@"clueAnsState"];
for (NSInteger idx = 0; idx < 8; idx++) {
NSString *temp = [curCAS objectAtIndex:idx];
if ([temp isEqualToString:@"2"]) {
CAP = [curCAS indexOfObject:temp];
NSLog(@"CAP = ");
NSLog(@"%i", CAP);
} // only one curCAS should be = 2
}
return CAP;
}
Я получаю ошибку в заголовке вопроса.Значение CAP вычислено правильно, но тип возвращаемого значения, по-видимому, неверный.Я не понимаю почему.Я знаю, что это связано с указателями против примитивов, но после прочтения архивов SO я подумал, что это должно сработать.Может быть, CAP = [curCAS indexOfObject:temp];
возвращает CAP в качестве указателя (на самом деле, так и должно быть), но я все еще не вижу, как это изменить.Что мне нужно, так это то, что я могу использовать в выражении objectAtIndex:CAP
.Спасибо.