Отладочный журнал выглядит следующим образом.извлечение целого из nsstring
2013-06-09 17:09:09.192 BridgeDeal[2430:11303] suito: 2K
2013-06-09 17:09:09.193 BridgeDeal[2430:11303] suit: 50
2013-06-09 17:09:09.193 BridgeDeal[2430:11303] suito: 2Q
2013-06-09 17:09:09.193 BridgeDeal[2430:11303] suit: 50
2013-06-09 17:09:09.194 BridgeDeal[2430:11303] suito: 3J
2013-06-09 17:09:09.194 BridgeDeal[2430:11303] suit: 51
Значение suito
выше является правильным, но не значение для suit
выше. Вместо этого для значений suit
я надеюсь получить 2,2,3.
for (int i = 0; i<3; i++) {
NSInteger suit = [[self.cardList objectAtIndex:i ] characterAtIndex:0] ;
NSLog(@"suito: %@", [self.cardList objectAtIndex:i ]);
NSLog(@"suit: %d", suit);
}
cardlist
заявляется следующим образом.
@property (nonatomic, weak) NSMutableArray *cardList;
Я попытался следующий код, но получаю сообщение об ошибке: bUnexpected type name 'NSRange'
NSInteger suit = [[self.cardList objectAtIndex:i ] substringWithRange:NSRange(0,1)] ;
Использование NSRange) {0,1} Я получаю следующие проблемы и смешные результаты. 'Несовместимый указатель на целочисленное преобразование, инициализирующее 'NSInteger' (aka 'int') с выражением 'NSString *'' – zerowords
Извините, забыли сказать, что строка, в которой вы вернули строку, а не целое число. Если вы хотите получить целое число, вы можете добавить вызов в integerValue в конце. – Wain
Действительно, вы должны хранить данные по-другому, если хотите использовать номер в качестве индекса массива ... – Wain