gpt4 book ai didi

objective-c - 如果对引用类型(对象)使用 "assign"属性,则 Xcode 发出警告

转载 作者:太空狗 更新时间:2023-10-30 03:29:23 24 4
gpt4 key购买 nike

当使用 assign 声明一个对象(引用类型)属性时,是否有 Xcode 警告或任何类型的警告方式? ARC 中的属性:

@property (nonatomic, assign) NSNumber *myNumber;

我转换了一个 long 属性为 NSNumber 并且不小心忘记更改 assign 的属性 strong

没有编译时警告或错误,运行时错误只会偶尔发生,而且是一种非常隐蔽的崩溃。只有在调试时才会出现崩溃和类似 "message sent to a deallocated instance" 的错误那是因为在开发中使用了僵尸对象。

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

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

最佳答案

不幸的是,我找不到任何警告标志。不过,拥有它会是一件很酷的事情。可以引用this site获取您可以在 Xcode 中启用的所有 clang 警告的列表。

关于objective-c - 如果对引用类型(对象)使用 "assign"属性,则 Xcode 发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31880445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com