gpt4 book ai didi

ios - 禁用选择 UIPickerview 上的第 0 行 - iOS

转载 作者:行者123 更新时间:2023-11-29 04:26:51 25 4
gpt4 key购买 nike

我试图禁用 UIPickerView 上的第 1 行,但它引发了以下错误

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 2147483647 beyond bounds [0 .. 15]'

任何人都可以告诉我这里出了什么问题吗?这是代码

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
AppDelegate *appdelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if ((row > 0)){
NSLog(@"%@",[locationArray objectAtIndex:row]);

if(flag){

appdelegate.selectedLocation = [locationArray objectAtIndex:row];
NSLog(@"%@",appdelegate.selectedLocation);

} else{

appdelegate.selectedLocation = [locationArray objectAtIndex:row];
NSLog(@"%@",appdelegate.selectedLocation);

}
[promptLocation addSubview:tapButton];
[tapButton addTarget:self action:@selector(goToDesireLoc:) forControlEvents:UIControlEventTouchUpInside];
}else{
//Don't do anything if row 0 is chosen.
NSLog(@"do nothing");
}
}

最佳答案

我建议您添加异常断点,以便您可以看到哪一行代码导致了崩溃。请参阅此处了解如何操作:stackoverflow.com/q/4961770/472344。

这应该会导致您的代码在导致崩溃的行处中断。您可以检查“row”的值和“locationArray”的大小。

看起来你的行是2147483647,你的数组的长度是16。所以我猜你的UIPickerView数据源可能有问题。也许发布您的代码:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

您还可以在该方法内设置断点,以确保正确调用它,并检查它返回的值。

关于ios - 禁用选择 UIPickerview 上的第 0 行 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12208060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com