IOS13 异常问题及解决方案(2019.9.26)
旧的工程运行在刚发布的ios13系统上可能会遇到很多的问题,本人将已经遇到的问题和解决方案记录下,希望对你有一点帮助。
**
libc++abi.dylib: terminating with uncaught exception of type
1.NSException(2019.9.26)
原有项目在ios12正常运行,更新开发环境后运行在ios13就遇到了这样的问题。在排查时发现是在NSNotificationCenter传值回调时,如果NSNotificationCenter在子线程调用,那么所监听对象的回调方法也会被放在子线程中执行,而我在该方法中进行了viewController.title属性的重新赋值,导致了异常报错。
将原有方法加到主线程中执行即可 代码如下
[[NSOperationQueue mainQueue] addOperationWithBlock:^{ self.title = newTitleString; }];
另外附上NSNotificationCenter运行机制的官方解释
In a multithreaded application, notifications are always delivered in the thread in which the notification was posted, which may not be the same thread in which an observer registered itself.
感兴趣的自行翻译下吧
————————————————
版权声明:本文为CSDN博主「-39度」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43397714/article/details/101454069