Strange crash in UITextview undo on iOS 7

I get a bunch of crash reports that are very similar to the following values ​​for the range. Sometimes the range is not 0-x, we can say that 2-x

Specific information for the application: * Application termination due to an uncaught exception \ NSRangeException \, reason: \ '* - [NSBigMutableString substringWithRange:]: Range {0, 69} out of bounds; string length 0 \ '

Last Exception Backtrace: 0 CoreFoundation 0x2e879e83 __exceptionPreprocess + 131 1 libobjc.A.dylib 0x38bd66c7 objc_exception_throw + 38 2 CoreFoundation 0x2e879dc5 +[NSException raise:format:] + 112 3 Foundation 0x2f1a1bd1 -[NSString substringWithRange:] + 120 4 UIKit 0x311b2815 -[NSTextStorage(UIKitUndoExtensions) _undoRedoAttributedSubstringFromRange:] + 132 5 UIKit 0x315d9679 -[_UITextUndoOperationTyping undoRedo] + 296 6 Foundation 0x2f296453 -[_NSUndoStack popAndInvoke] + 250 7 Foundation 0x2f2952ef -[NSUndoManager undoNestedGroup] + 454 8 UIKit 0x3127a147 -[UIApplication alertView:clickedButtonAtIndex:] + 142 9 UIKit 0x31216449 -[_UIModalItemsCoordinator _notifyDelegateModalItem:tappedButtonAtIndex:] + 144 10 UIKit 0x3121638d -[_UIModalItemAlertContentView tableView:didSelectRowAtIndexPath:] + 1000 11 UIKit 0x3111b0cb -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1078 12 UIKit 0x311ce863 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 214 13 UIKit 0x3107e781 _applyBlockToCFArrayCopiedToStack + 316 14 UIKit 0x30ff67bb _afterCACommitHandler + 430 15 CoreFoundation 0x2e844f69 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20 16 CoreFoundation 0x2e8428f7 __CFRunLoopDoObservers + 286 17 CoreFoundation 0x2e842c43 __CFRunLoopRun + 738 18 CoreFoundation 0x2e7ad471 CFRunLoopRunSpecific + 524 19 CoreFoundation 0x2e7ad253 CFRunLoopRunInMode + 106 20 GraphicsServices 0x334e72eb GSEventRunModal + 138 21 UIKit 0x31062845 UIApplicationMain + 1136 22 MyApp 0x00071f3b main (main.m:18) 23 libdyld.dylib 0x390cfab7 start + 2 
+7
undo ios ios7 uitextview crash-reports
source share
1 answer

If you set the text property of UITextView after editing it, it seems that you need to call [textView.undoManager removeAllActions] to remove the undo history.

+12
source share

All Articles