0

有効な Objective-C 2.0 には、次の抜粋されたコードがあります。

@interface EOCClass : NSObject {
    id _object;
}
@end

@implementation EOCClass
- (void)setup{
    _object = [EOCOtherClass new];
}
@end

次に、著者は次のように述べています。

「_object インスタンス変数は、手動参照カウントでは自動的に値を保持しませんが、ARC では保持します。」

上記のスニペットを XCode でテストしたところ、インスタンス変数は値を保持しています (つまり、すべて正常に動作しているようです)。

上の文で著者は何を意味しているのですか?

4

2 に答える 2

5

彼は次のことを意味します。

_object インスタンス変数は、手動参照カウントでは自動的に値を保持しませんが、ARC では保持します。

そのような単純な。これが MRC の下で機能する場合、次の 1 つの理由で機能します。

[SomeClass new]

と同等です

[[SomeClass alloc] init]

そのため_object、何があっても参照カウントは 1 になります。

于 2013-07-27T19:40:45.540 に答える