Хорошо, у меня следующая общая проблема
[NSCFNumber isEqualToString:]: unrecognized selector sent to instance
но на этот раз я не уверен, как это исправить.
Вот декларация в 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];
Спасибо!