I found an interesting post describing how, in Objective-C 2.0, instance variables can be declared in the implementation file. Consider this example:
@interface MyClass {}
@end
@implementation MyClass {
NSObject *obj1;
NSObject *obj2;
}
@end
Notice the ivars obj1
and obj2
are not declared properties. Since they are not declared with an @property
statement, there are no corresponding ownership qualifiers such as weak
/strong
.
My question is, will a project using Automatic Reference Counting (ARC) remember to clean up objects declared in this manner? Any documents addressing this specific issue would be appreciated.
Yes, these implicitly have a __strong
in front of them. ARC will deal with them just as you'd expect from a strong property. The appropriate section in the docs is 4.4.1. Objects
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With