With ARC, every pointer assignment does a retain by default. In that light, in noatomic cases, why do I even need to declare properties?
How are these two any different?
//Property
@interface I1 : NSObject
@property (nonatomic, strong) NSString* str;
@end
I1 *obj1 = ...;
obj1.str = [[NSString alloc] init...];
//Only member variable
@interface I2 : NSObject {
@public
NSString* str;
}
@end
I2 *obj2 = ...;
obj2->str = [[NSString alloc] init...];