您好,匿名用户
随意问技术百科期待您的加入

NSTextStorage在replaceCharactersInRange的时候遇到EXC_BAD_ACCESS

0 投票

我想在NSTextView中替换某段文本,比如把aaaaaa替换成bbb。但当我使用replaceCharactersInRange时老是遇到内存异常的错误,这里是代码

NSTextStorage *textStorage = [textView textStorage];
NSRange found = NSMakeRange(0, 1);

[textStorage beginEditing];
[textStorage replaceCharactersInRange:found withString:@"bbb"];
[textStorage endEditing];

这个range我可以保证是完全在范围内的。而且我发现如果我把range的length改成跟替换的字符串一样长,它就不会报错。比如这里我要替换成@"bbb",那么我把NSRange found = NSMakeRange(0, 3);,就不会报错。

但大多数情况下,我们替换的两种字符串都不是一样长的啊,为什么老会崩溃呢?

用户头像 提问 2012年 12月1日 @ Annie 上等兵 (299 威望)
分享到:

你的回答

隐私保护: 您的邮箱仅用于发送系统通知。
请输入验证码:
    图片验证码看不清?
登录注册后不会被要求输入验证码。

提一个问题:

相关问题

0 投票
1 回复 56 阅读
0 投票
1 回复 46 阅读
0 投票
1 回复 51 阅读
0 投票
1 回复 33 阅读
用户头像 提问 2012年 12月1日 @ Caitlyn 上等兵 (452 威望)
+1 投票
1 回复 69 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...