В Objective-C у вас есть различие между атомарными и неатомарными свойствами:
@property (nonatomic, strong) NSObject *nonatomicObject;
@property (atomic, strong) NSObject *atomicObject;
Насколько я понимаю, вы можете безопасно читать и записывать свойства, определенные как атомарные, из нескольких потоков, в то время как одновременная запись и доступ к неатомным свойствам или ivars из нескольких потоков может привести к неопределенному поведению, включая ошибки неправильного доступа.
Итак, если у вас есть такая переменная в Swift:
var object: NSObject
Могу ли я безопасно читать и записывать в эту переменную параллельно? (Без учета фактического значения этого).
@atomic
или@nonatomic
. или просто атомарно по умолчанию. (Swift настолько неполный, что мы не можем сейчас сказать много)