パブリック読み取り専用属性を使用してARCでメモリを解放するにはどうすればよいですか?次のコードがあるとします。
SomeClass.h:
@interface SomeClass : NSObject
@property (readonly, nonatomic, strong) NSArray* someArray;
@end
SomeClass.m:
#import "SomeClass.h"
@implmentation SomeClass
@synthesize someArray = _someArray;
- (void)dealloc {
self.someArray = nil; //causes compiler error because of public readonly
_someArray = nil; //does this correctly release the object?
}
@end
ARCでdeallocする方法は、getterメソッドを使用してすべての強力なプロパティをnilに設定していることを理解しています。変数は「読み取り専用」として公に宣言されているため、コンパイラーはgetterメソッドの使用を許可しません。そして、私がARCについて知っていることから、iVarをnilに設定すると、基礎となるコードでreleaseを呼び出すことができます。これは正しいです?
助けてくれてありがとう!