开发者

Protecting from crashes (beyond bounds) with [object objectAtIndex:]

开发者 https://www.devze.com 2023-01-01 18:40 出处:网络
I\'d like to know if there\'s a way to verify if an index exists before getting it. So it\'d be way to protect my code against:

I'd like to know if there's a way to verify if an index exists before getting it.

So it'd be way to protect my code against:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (2) beyon开发者_如何学JAVAd bounds (0)'

Like in PHP you can do: isset($object[10]); and it'll return true if it exists.

Is there such a method in Objective-C/Cocoa?

Thanks!


No. But you can check if the index is above the array's count before calling -objectAtIndex:.

if (i < [array count])
   do_something_with([array objectAtIndex:i]);

Unlike PHP, Objective-C's NSArray is really an array. The indices are always numeric and consecutive. (In ObjC the associative array is called NSDictionary.)

0

精彩评论

暂无评论...
验证码 换一张
取 消