2012-02-07 6 views

答えて

1

私のためにリリース-保持調査を行うための最善の方法は、された:

'MapsLocationView.h' 
@interface MapsLocationView : UIView { 
    int releaseCount; 
} 

'MapsLocationView.m' 
- (void)awakeFromNib { 
    releaseCount = 0; 
} 

-(id)retain { 
    NSLog(@"retain count+++:%d", [self retainCount]); 
    return [super retain]; 
} 

- (oneway void)release { 
    releaseCount++; 
    NSLog(@"releaseCount---:%d", releaseCount); 
    [super release]; 
} 

私はまた、あなたがマウスの右ボタンでメソッドをクリックした場合、あなたがその定義にジャンプできることを見出した:)

1

、あなたは余分なリリースが

+0

要点は、余分なリリースは100回のうち1回発生していることです...リークでそれを行うのは難しい作業です。単一のブレークポイントは私を助けます...私は望みます:) – Stas

+0

とにかく、私はあなたが気にしないなら、そのような単純なことをする方法を知りたいです... – Stas

+0

保持し、リリースはNSObjectプロトコルからのメソッドです、 id)あなたのクラスに保持して呼び出す必要があります。保持カウントをインクリメントして、自己 – wattson12

5

どこから来ている見つけるために、リーク機器やコードアナライザを使用する必要がありますそれは何をやっての念だ、私は適切な方法でそれを行う助けてくださいObjective-Cのどこにいても実行します。

- (oneway void)release; 
{ 
    [super release]; 
} 

- (id)retain; 
{ 
    return [super retain]; 
} 
+0

あなたの答えは正しかったですが、気にしない場合は、ちょっとした情報をつけて自分の質問に答えたい、ありがとう – Stas

関連する問題