I'm just updating a really old project to ARC (2017 – I know).
I've noticed that for readonly
property declarations, it's adding a weak
decorator. Eg:
// Before conversion to ARC:
@property (nonatomic, readonly) NSString *defaultName;
// After conversion to ARC:
@property (weak, nonatomic, readonly) NSString *defaultName;
Could someone explain why it's doing this?
There are a few SO questions and answers about the meaning of weak
, strong
and copy
when applied to a readonly
property. An example is this which seems to be directly contradicted by this – I don't really see how it makes sense as they only seem to apply on setting a property and a readonly
has an explicit getter method.