‘copy’ and ‘strong’ are mutually exclusive?


#1

When I specify both ‘copy’ and ‘strong’ for itemKey, I get the compile error above, but without strong, there is no error. Isn’t ‘strong’ default? Aren’t the below two the same?
The default

@property (nonatomic, copy) NSString *itemKey;
@property (nonatomic, strong, copy) NSString *itemKey;

#2

Yes, they are mutually exclusive.
Using strong, a strong reference is made to the value. Using copy, the original value is copied and is therefore implicitly a strong reference anyway.


#3

Oh, I forgot that ‘copy’ is also memory management attribute like strong and weak, so we need to pick only one of them. Thank you.