ここに2つのコードのスナップショットがあります-
@interface A:NSObject
{
NSMutableArray *a;
}
@property (retain) NSMutableArray *a;
@implementation
@synthesize a;
-(id)init
{
if(self=[super init])
{
a=[[NSMutableArray alloc] init];
}
}
@end
@interface A:NSObject
{
NSMutableArray *_a;
}
@property (retain) NSMutableArray *a;
@implementation
@synthesize a=_a;
-(id)init
{
if(self=[super init])
{
_a=[[NSMutableArray alloc] init];
}
}
@end
今私が知る必要があるのは、アクセサーを使用するのではなく、コードインスタンス変数に直接値が割り当てられ、保持カウントが1であることです? またはそれらの間に違いがあります。ありがとう。
もう 1 つ、Apple は init/dealloc でアクセサを使用しないことを推奨しましたが、同時に iVar を直接設定しないように求めました。では、init() で ivar の値を割り当てる最良の方法は何ですか??