开发者

Synthesised properties for primitive data types using ARC -- weak or assign?

开发者 https://www.devze.com 2023-04-12 15:15 出处:网络
I was wondering what is the correct way to write synthesised properties for primitive data types (like bool) when ARC is enabled.

I was wondering what is the correct way to write synthesised properties for primitive data types (like bool) when ARC is enabled.

I used to use this before ARC:

@property(assign) bool isOn;

But it is my understanding开发者_运维技巧 (maybe wrong) that you shouldn't use assign when ARC is enabled. I tried replacing this with weak but I get the error -

Property of "weak" attribute must be of type object.

Should I continue to use assign?


Assign is fine. ARC stands for "Automatic Reference Counting", and primitive data types do not have reference counts.

Weak failed because there is no object, nor any references for ARC to manage.


Seems you need to read up on a certain subject here. Check: http://clang.llvm.org/docs/AutomaticReferenceCounting.html

Check chapter 4 ;) Here you will read that assign is fine with ARC.


When ARC Enabled you can write synthesised properties for primitive data like(ex:BOOL).. @property(unsafe_unretained) bool isOn;

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号