Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa touch 使用[object objectAtIndex:]防止崩溃(超出范围)_Cocoa Touch_Arrays - Fatal编程技术网

Cocoa touch 使用[object objectAtIndex:]防止崩溃(超出范围)

Cocoa touch 使用[object objectAtIndex:]防止崩溃(超出范围),cocoa-touch,arrays,Cocoa Touch,Arrays,我想知道是否有办法在获取索引之前验证它是否存在 因此,这是保护我的代码不受以下影响的一种方法: *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (2) beyond bounds (0)' 就像在PHP中一样,您可以这样做:isset($object[10])并且如果它存在,它将返回true Objective-C/

我想知道是否有办法在获取索引之前验证它是否存在

因此,这是保护我的代码不受以下影响的一种方法:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (2) beyond bounds (0)'
就像在PHP中一样,您可以这样做:
isset($object[10])
并且如果它存在,它将返回true

Objective-C/Cocoa中是否有这种方法


谢谢

否。但是您可以在调用
-objectAtIndex:
之前检查索引是否高于数组的计数

if (i < [array count])
   do_something_with([array objectAtIndex:i]);
if(i<[数组计数])
使用([array objectAtIndex:i])执行某些操作;
与PHP不同,Objective-C的NSArray实际上是一个数组。索引始终是数字和连续的。(在ObjC中,关联数组称为NSDictionary。)