Я не знаю ассемблера достаточно хорошо, чтобы понимать такой сложный код, как Assembly для всего проекта, но я заметил, что если я добавлю атрибут strong
в свойство, вызов _objc_storeStrong
появится рядом со строкой в моем сеттере где я правильно поменяю;
@interface ClassName : NSObject
@property (strong, nonatomic) NSSet *mySet;
@end
@implementation ClassName
@synthesize mySet;
-(void)setMySet:(NSSet *)newMySet
{
mySet = newMySet;
//do stuff
}
@end
Так? я прав? Компилятор ARC автоматически определяет, сохранять или назначать в переопределенном классе в зависимости от атрибутов свойства?