我正在尝试在文本字段中查找并删除选定的文本,但它每次都是 SIGABRT。当我尝试检索 selectedTextRange 时,我不断收到 NSInvalidArgumentException。事实上,我对其进行了测试,与所选文本有关的每个功能似乎都会破坏应用程序。
[mTextField selectedTextRange];
由于某种原因,甚至那行代码本身也是一个无法识别的选择器。我已经仔细检查过我没有使用垃圾数据或任何东西,我能够先获取文本,然后获取选定的文本,然后将其破坏。
我正在尝试在文本字段中查找并删除选定的文本,但它每次都是 SIGABRT。当我尝试检索 selectedTextRange 时,我不断收到 NSInvalidArgumentException。事实上,我对其进行了测试,与所选文本有关的每个功能似乎都会破坏应用程序。
[mTextField selectedTextRange];
由于某种原因,甚至那行代码本身也是一个无法识别的选择器。我已经仔细检查过我没有使用垃圾数据或任何东西,我能够先获取文本,然后获取选定的文本,然后将其破坏。
selectedTextRange
只能在 iOS5+ 上使用。
由于您使用 nstextfield 标记了您的问题,我假设您使用的是NSTextField
(Mac OS X)而不是UITextField
(iOS)。问题是NSTextField
不支持该selectedTextRange
消息。(UITextField
确实支持它。)我看不到任何方法可以从NSTextField
.
如果您切换到 using NSTextView
,您可以向它发送selectedRanges
消息。
我真的不认为你可以通过使用 UITextField 来实现。
但是我认为你可以通过实现 UITextViewDelegate 来做到这一点。您可以在此方法中使用 selectedRange 属性。
- (void)textViewDidChangeSelection:(UITextView *)textView
顺便说一句,您的问题可能与这个问题有关:
一定要检查一下。。