我有时会在Crashlytics中看到这个例外:
Fatal Exception: NSRangeException
*** -[__NSArrayM getObjects:range:]: range {0, 6294} extends beyond bounds [0 .. 6292]
-[NSMutableArray sortUsingSelector:]
-[NSArray sortedArrayFromRange:options:usingComparator:] + 284
我理解这条消息,但不幸的是我无法找到可重现的序列或根本原因,尽管它似乎更常出现在更大的数据集中。
这是执行崩溃的相关代码:
NSMutableArray *contacts = ...; // loaded from another method, in an NSOperation
NSArray *result = [contacts sortedArrayUsingComparator:^NSComparisonResult(Contact *obj1, Contact *obj2) {
return [obj1.fullName compare:obj2.fullName];
}];
感谢您的任何建议!
编辑:这是Crashlytics完全例外的一个pastebin - http://pastebin.com/T2haqCWX