objective-c – 如果对引用类型(对象)使用“assign”属性,则为Xcode警告

当使用ARC中的assign属性声明对象(引用类型)属性时,是否存在 Xcode警告或任何形式的警告:
@property (nonatomic,assign) NSNumber *myNumber;

我将一个属性转换为NSNumber,并意外忘记将属性从赋值更改为强.

没有编译时警告或错误,并且有时会发生的运行时错误只会发生,这是一个非常模糊的崩溃.只有在调试时才会出现崩溃和“发送到解除分配的实例的消息”这样的错误,这是因为在开发过程中使用了僵尸对象.

对于非调试版本,崩溃不会经常发生,并且(例如,Crashlytics)报告为EXC_BAD_ACCESS – KERN_INVALID_ADDRESS.我假设崩溃是由这个问题引起的.

我理解,如果要保持对它的弱引用,则assign是对象的有效选项,并且当对象被释放时,您不希望指针自动变为NULL.但是,我想应该有一个可以打开或关闭的警告,因为assign通常不是你想在ARC中使用的东西,但我在构建设置中找不到它.

解决方法

不幸的是,我找不到任何警告标志.尽管如此,这将是一件很酷的事情.您可以参考 this site获取您可以在Xcode中启用的所有clang警告的列表.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...