0

前の投稿を削除しました...

オブジェクト objA を所有するクラスがある場合、どちらを使用しますか? オブジェクトがクラスによって所有されていないかどうかはわかっています。保持する必要があります。

@class A

@property (retain) ObjectA objA;

@end

@implementation A

-(void) func {
   self.objA = [[ObjectA alloc] init];
}

@end

クラス A の objA が保持として設定され、init 関数を使用して func で初期化された場合。これにより、保持カウントが 2 つになるか、保持カウントが 1 つだけになりますか。

4

2 に答える 2

1

alloc は保持カウント 1 を返します。self.objA = 保持カウント 2 を返します (retain プロパティのため)

于 2012-05-25T07:33:02.437 に答える
0

私はしただろう:

   - (void) func {objA = [[ObjectA alloc] init]; }

また

   - (void) func { self.objA = [[[ObjectA alloc] init] autorelease]; }

メモリリークを防ぐため。しかし、私は最初の解決策を好みます

于 2012-05-25T08:08:41.840 に答える