ios – 在dispatch_once崩溃(&onceToken,^ {

ios – 在dispatch_once崩溃(&onceToken,^ {,第1张

概述+(Service *) sharedInstance{ static LocationService *instance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ <<<< Crash instance = [[self alloc
+(Service *) sharedInstance{    static LocationService *instance = nil;    static dispatch_once_t oncetoken;    dispatch_once(&oncetoken,^{              <<<< Crash        instance = [[self alloc]init];    });    return instance;}

我正在使用上面显示的代码在我的应用程序中创建一个单例服务实例.这是从“AppDelegate application:willFinishLaunchingWithOptions:”调用的.

对于大多数用户,此代码工作正常.但对于2个用户,该应用程序崩溃在“dispatch_once(& oncetoken,^ {”行.

他们删除了应用并重新安装了它.但他们仍然看到了这个问题.只有这两个用户正面临这个问题.其他人从未见过它.我有.dsym,.crash和其他相关文件来做进一步的调试.只是想知道我该如何处理它?如果有人看到过类似的问题,他们是如何着手修复它的?

解决方法 不要使用自我.因为在课堂开始之前自己不可用.相反,您可以使用类名如下.

+(Service *) sharedInstance{static LocationService *instance = nil;static dispatch_once_t oncetoken;dispatch_once(&oncetoken,^{                instance = [[Service  alloc]init];});return instance;}
总结

以上是内存溢出为你收集整理的ios – 在dispatch_once崩溃(&onceToken,^ {全部内容,希望文章能够帮你解决ios – 在dispatch_once崩溃(&onceToken,^ {所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1003424.html

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

发表评论

登录后才能评论

评论列表(0条)

保存