Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Objective C: ARC with IVars declared in implementation file

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.

like image 867
ocarlsen Avatar asked Dec 17 '11 22:12

ocarlsen


1 Answers

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.

like image 196
Joshua Weinberg Avatar answered Oct 15 '22 05:10

Joshua Weinberg