如果对象的UIPicker大于3,那么我的NSArray就会崩溃,有以下错误:
由于“NSInvalidArgumentException”异常终止应用程序,原因:-NSAutoreleasePool:titleForRow:forComponent: unrecognized发送到实例
下面是函数的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.glassPickerOptions = [[NSArray alloc] initWithObjects:@"3mm",@"4mm",@"DG4+4",@"DG4+6",nil];
[glassPicker setFrame:CGRectMake(0, 0, 320, 162)];
[glassPicker selectRow:1 inComponent:0 animated:NO];
}
- (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
NSInteger glassPickerOptionsCount = self.glassPickerOptions.count;
NSLog(@"%i", glassPickerOptionsCount);
return glassPickerOptionsCount;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return (NSString*) [self.glassPickerOptions objectAtIndex:row];
}希望我没漏掉任何东西。提前感谢
发布于 2011-09-29 21:40:59
似乎您过度释放了您的选择器视图,您可以看到这一点,因为消息被发送到一个自动发布池,而不是您所期望的对象,您应该检查一下您的保存/释放,让您的选择器看到正在发生的事情,从发布的代码中无法真正判断……
https://stackoverflow.com/questions/7603399
复制相似问题