Objective c Obj-C-Can和x27;不访问NSArray中的值?

Objective c Obj-C-Can和x27;不访问NSArray中的值?,objective-c,nsstring,nsarray,Objective C,Nsstring,Nsarray,我有一个显示字符串的文本视图:255,34,7,4 我尝试使用以下代码从我的textView中提取字符串,并将每个数字分隔成一个数组: NSArray *array = [self.textview.text componentsSeparatedByString:@","]; NSString *comp1 = array[0]; NSString *comp2 = array[1]; NSString *co

我有一个显示字符串的文本视图:255,34,7,4

我尝试使用以下代码从我的textView中提取字符串,并将每个数字分隔成一个数组:

        NSArray *array = [self.textview.text componentsSeparatedByString:@","];
        NSString *comp1 = array[0];
        NSString *comp2 = array[1];
        NSString *comp3 = array[2];
这可以正常工作,并将以下内容返回到我的阵列:

> 2020-07-11 15:21:58.110560-0700[10116:2311809] In the array you will
> find (
>     255,
>     34,
>     7,
>     4 )
但是,我无法使用数组[1]和数组[2]访问第二个和第三个值?我的应用程序崩溃,出现以下错误:

***由于未捕获的异常“NSRangeException”而终止应用程序,原因:'***-[\uu\NSSingleObjectArrayI objectAtIndex:]:超出索引1 边界[0..0]'


为什么会发生这种情况?

因为您尝试访问预期对象的时刻并不存在。 在访问运行时可能不存在的索引之前,询问数组中可用的索引数量要安全得多

NSArray *splitarray = [self.textview.text componentsSeparatedByString:@","];

NSLog(@"amount of indexes %lu", splitarray.count);

for (NSString *idxObject in splitarray) {
    NSLog(@"content @%",idxObject);
}


for(整数i=0;i@OlSen
array
不是C关键字。如果您尝试使用数据类型作为变量名,编译器将不会接受它。我的朋友willeke.:)始终支持我。
for (NSUInteger i=0; i<splitarray.count; i++) {
    NSLog(@"content @%",splitarray[i]);
}