iphone – 检查NSString崩溃的子串

iphone – 检查NSString崩溃的子串,第1张

概述我试过用两种方式检查NSString中子串的出现,两者都崩溃了.这是我从NSManagedObject的一个属性获取的NSString对象. >使用NSRange NSString * searchString = @“drive”; NSRange range = [text rangeOfString:searchString options:(NSCaseInsensitiveSearch) 我试过用两种方式检查Nsstring中子串的出现,两者都崩溃了.这是我从NSManagedobject的一个属性获取的Nsstring对象.

>使用NSRange

Nsstring * searchString = @“drive”;

NSRange range = [text rangeOfString:searchString options:(NSCaseInsensitiveSearch)];

if(range.location!= NSNotFound){
    的NSLog(@ “实测值”);
}
>使用NSScanner

NSScanner * scanner = [NSScanner scannerWithString:text];

NSLog(@“%d”,[scanner scanString:searchString intoString:nil]);

当text = @“drive”时,这两个都有效,但当文本为“i drive”或“drive to”时,导致EXC_BAD_ACCESS崩溃.如果文本是“IDrive”或“driveto”,则没有任何反应.

甚至更奇怪,有时示例抛出NSinvalidargumentexceptions,说我试图将NSCFSet或DateComponents对象传递给rangeOfString:,我在我的应用程序中都没有使用它们.

有任何想法吗?

解决方法 如果你有时得到EXC_BAD_ACCESS并且有时会得到消息“类型对象 – 你不期望没有对方法做出响应”,那么你很可能没有长时间保留对象并且在你到达之前它被释放了在哪里使用它.

如果到达目的地后内存没有被重用,事情就会起作用.如果空间已被重用于另一个对象并且完全对齐,即同一指针,则会得到类似“x不响应选择器”的内容.如果以指针未指向有效对象的方式覆盖它,您将获得EXC_BAD_ACCESS

总结

以上是内存溢出为你收集整理的iphone – 检查NSString崩溃的子串全部内容,希望文章能够帮你解决iphone – 检查NSString崩溃的子串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1051553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存