Не познавам асемблера достатъчно добре, за да разбера толкова сложен код като асемблиране за целия проект, но забелязах, че ако сложа атрибут 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 определя ли автоматично дали да запази или присвои в заменен клас в зависимост от атрибутите на свойствата?