问题描述
- xcode中在模拟器测试uitextfield按下时崩溃
-
-[Swift._NSContiguousString objectAtIndex:]: unrecognized selector sent to instance 0x7f95cda7bdd0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Swift._NSContiguousString objectAtIndex:]: unrecognized selector sent to instance 0x7f95cda7bdd0'
*** First throw call stack:
(
0 CoreFoundation 0x0000000105816f35 exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000108596bb7 objc_exception_throw + 45
2 CoreFoundation 0x000000010581e04d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x000000010577627c ___forwarding_ + 988
4 CoreFoundation 0x0000000105775e18 CF_forwarding_prep_0 + 120
5 CoreFoundation 0x0000000105794ddc CFStringTokenizerCreate + 796
6 UIKit 0x000000010759dd58 __91-[_UITextInputControllerTokenizer _getClosestTokenRangeForPosition:granularity:downstream:]_block_invoke44 + 253
7 UIFoundation 0x00000001118e906b -[NSTextStorage coordinateReading:] + 42
8 UIKit 0x000000010759da29 -[_UITextInputControllerTokenizer _getClosestTokenRangeForPosition:granularity:downstream:] + 322
9 UIKit 0x000000010729979c -[UITextInputStringTokenizer positionFromPosition:toBoundary:inDirection:] + 72
10 UIKit 0x0000000107299e4e -[TIDocumentState(UITextInputAdditions) _contextBeforePosition:inDocument:] + 68
11 UIKit 0x0000000107299f91 -[TIDocumentState(UITextInputAdditions) initWithDocument:] + 110
12 UIKit 0x0000000107299aea +[TIDocumentState(UITextInputAdditions) documentStateOfDocument:] + 50
13 UIKit 0x0000000107030683 -[UIKeyboardImpl syncDocumentStateToInputDelegateWithExecutionContext:] + 288
14 UIKit 0x0000000107030edb -[UIKeyboardImpl updateForChangedSelectionWithExecutionContext:] + 296
15 UIKit 0x000000010759e914 -[UIKeyboardTaskQueue continueExecutionOnMainThread] + 332
16 UIKit 0x000000010702b71f -[UIKeyboardImpl setDelegate:force:] + 2031
17 UIKit 0x00000001072f9a12 -[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:] + 902
18 UIKit 0x0000000106fb631d -[UIResponder becomeFirstResponder] + 468
19 UIKit 0x0000000106eabe03 -[UIView(Hierarchy) becomeFirstResponder] + 99
20 UIKit 0x0000000107572ad7 -[UITextField becomeFirstResponder] + 51
21 UIKit 0x00000001071fa9c1 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) setFirstResponderIfNecessary] + 177
22 UIKit 0x00000001071fca30 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:] + 2263
23 UIKit 0x00000001071f22e6 _UIGestureRecognizerSendActions + 262
24 UIKit 0x00000001071f0f89 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 532
25 UIKit 0x00000001071f5ba6 __UIGestureRecognizerUpdate_block_invoke662 + 51
26 UIKit 0x00000001071f5aa2 UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 254
27 UIKit 0x00000001071ebb1d _UIGestureRecognizerUpdate + 2796
28 UIKit 0x0000000106e85ff6 -[UIWindow _sendGesturesForEvent:] + 1041
29 UIKit 0x0000000106e86c23 -[UIWindow sendEvent:] + 667
30 UIKit 0x0000000106e539b1 -[UIApplication sendEvent:] + 246
31 UIKit 0x0000000106e60a7d _UIApplicationHandleEventFromQueueEvent + 17370
32 UIKit 0x0000000106e3c103 _UIApplicationHandleEventQueue + 1961
33 CoreFoundation 0x000000010574c551 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION_ + 17
34 CoreFoundation 0x000000010574241d __CFRunLoopDoSources0 + 269
35 CoreFoundation 0x0000000105741a54 __CFRunLoopRun + 868
36 CoreFoundation 0x0000000105741486 CFRunLoopRunSpecific + 470
37 GraphicsServices 0x000000010ade19f0 GSEventRunModal + 161
38 UIKit 0x0000000106e3f420 UIApplicationMain + 1282
39 AnyThingBack 0x0000000104be47de top_level_code + 78
40 AnyThingBack 0x0000000104be481a main + 42
41 libdyld.dylib 0x00000001092e5145 start + 1
42 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
解决方案
-[Swift._NSContiguousString objectAtIndex:]: unrecognized selector sent to instance 0x7f95cda7bdd0 这个问题 。。。
解决方案二:
[Swift._NSContiguousString objectAtIndex:]: unrecognized selector sent to instance 0x7f95cda7bdd0
问题是调用这个方法的对象没有实现这个方法,相当于是你用错对象了。估计代码里你是定义了一个**数组对象**,然后取得的对象是个string,然后在按数组使用。比较直接的方法是你直接找objectAtIndex方法,找到使用处。
解决方案三:
unrecognized selector sent to instance
一般遇到这种问题就说明你绑定的方法没有呗实现,
你可以看看是不是对象在alloc的时候主体弄错了,或者你可以找一找你是不是调用方法的时候写错名称了。
解决方案四:
内存溢出了,检查内存,访问野指针出错
解决方案五:
是你吧这个当成alertView来处理了吧,你要先捕捉到你的textFeild再去处理其text
时间: 2024-10-28 13:16:18