Хорошо, у меня следующая общая проблема
[NSCFNumber isEqualToString:]: нераспознанный селектор отправлен в экземпляр
, но на этот раз я не уверен, как его исправить.
Вот объявление в viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *tempHours = [NSMutableArray array];
for (int i = 0; i < 12; i++) {
[tempHours addObject:[NSNumber numberWithInt:(i+1)]];
}
self.hours = tempHours; // 'hours' is a synthesized NSArray property of the ViewController
[tempHours release];
// two more similar array declarations here
}
Вот кодовый метод UIPickerView, в котором происходит сбой (например, оператор if
)
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSString *stringIndex = [NSString stringWithFormat:@"Row #%d", row];
if(component == 0) {
return stringIndex = [self.hours objectAtIndex:row];
}
// more code for other components (of the same form) here
return stringIndex;
}
Я думаю, мне нужно, чтобы мой массив NSArray объектов NSNumber был преобразован в строки. Как мне сделать это правильно с помощью этого оператора:
stringIndex = [self.hours objectAtIndex: row];
Спасибо!