gpt4 book ai didi

ios - 属性 "Nonatomic"是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 12:18:12 25 4
gpt4 key购买 nike

这段代码中的“非原子”是什么意思?

@property(nonatomic, retain) UITextField *theUsersName;

原子和非原子有什么区别?

谢谢

最佳答案

看看Apple Docs .

基本上,如果您说 nonatomic,并使用 @synthesize 生成访问器,那么如果多个线程尝试同时更改/读取属性,则可能会发生错误.您可以获得部分写入的值或过度释放/保留的对象,这很容易导致崩溃。 (不过,这可能比原子访问器快得多。)

如果您使用默认值(即 atomic;过去没有关键字,但有 is now ),则 @synthesized 方法使用一个对象级锁,以确保对单个属性的多次读取/写入被序列化。正如 Apple 文档指出的那样,这并不意味着整个对象都是线程安全的,但单个属性的 read/writes 是。

当然,如果您实现自己的访问器而不是使用 @synthesize,我认为这些声明除了表达您对属性是否以线程安全方式实现的意图之外没有任何作用。

关于ios - 属性 "Nonatomic"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821692/

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