我有时会在 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