• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iPhone SDK :NSScanner crashing randomly

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:59:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个应用程序可以扫描网站上的文本以获取信息并将其放入我的应用程序中。所以在这种情况下,我正在检索用户在 facebook 上的通知数量。一切正常,只是应用程序随机崩溃。这是我在文本中搜索数字的代码:

   NSScanner *theScanner = [NSScanner scannerWithString:facebookTextF];
NSScanner *theScanner2 = [NSScanner scannerWithString:facebookTextFa];


[theScanner scanUpToString"Notifications" intoString:&facebookTextFa] ;
[theScanner scanUpToString"\n" intoString:&facebookTextF] ;
NSString *NotificationsValue;
if ([facebookTextF isEqualToString"Notifications"]) {
    NotificationsValue = @"0";
    NSLog(@"%@", NotificationsValue);

       } else {
    [theScanner2 scanUpToString"Notifications" intoString:nil] ;
    [theScanner2 setScanLocation[theScanner2 scanLocation] + 13)];
    [theScanner2 scanUpToString"\n" intoString:&facebookTextFa] ;

               NSLog(@"%@", facebookTextFa);

                    }

此代码运行良好,但只是随机崩溃。这是我得到的崩溃日志:

iphone[654:907] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSConcreteScanner setScanLocation:]: Range or index out of bounds'

* 首先抛出调用栈: (0x3361b6c3 0x398b397f 0x3361b5e5 0x34d2632f 0x25147 0x34dbf78b 0x335f09ff 0x335f06b1 0x335ef321 0x3356239d 0x33562229 0x39fad31b 0x3402b8f9 0x22267 0x22208) libc++abi.dylib:终止调用抛出异常

无论如何,此崩溃都是随机发生的。例如,如果我让它运行一段时间,7 分钟后只是随机崩溃。不知道出了什么问题。 谢谢你的关注。如果您需要更多信息,请告诉我。



Best Answer-推荐答案


您收到该错误消息是因为(显然)字符串有时没有“通知”一词,因此 theScanner2 将其扫描位置设置为字符串的末尾。然后,当您尝试将扫描位置设置为提前 13 个字符时,它会超过字符串的末尾,并且会出现超出范围的错误。

关于iPhone SDK :NSScanner crashing randomly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224027/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap