2011-10-20 4 views
1

私は最近、アイフォン開発のために客観的なCを学ぼうとしていましたが、iPhone 3の開発に関する本を購入しました。私はブックの例とxCodeのデフォルトコードとのコードレイアウトの違いに気付きました。 私の質問は、-void(dealloc)関数を使うことです。xcode 4.1の割り当て解除機能

私は基本的な "ビューベースの"プロジェクトを作成しましたが、自分のviewController.mファイルには "dealloc"関数がありますが、xcode 4.1ではviewController.mにはdealloc関数がありませんAppDelegate.mファイル内で見つかる関数です。

だから私の質問は、最終的には、次のとおりです。

私は、ビューcontroller.m

@synthesize nameField; 

でインスタンス変数を合成した場合、私はそのようにように、その変数を解放するためにviewController.mでのdealloc関数を作成します?

- (void) dealloc 
    { 
     [nameField release]; 
     [numberField release]; 
     [super dealloc]; 
    } 

答えて

3

あなたはnameFieldのために宣言されたプロパティは、(あなたがこのの理解を得るために、メモリ管理ガイドになります)、割り当てる保持またはコピーした場合は異なります。基本的に、プロパティがretainまたはcopyの場合、deallocメソッドで解放する必要があります。それ以外の場合はしないでください。

+0

はい私が使用していたプロパティは保持されていましたが、今はどうやってリリースを使用するのか理解しています。私はdelegate.mファイルの同じ機能 "dealloc"によって投げられましたが、私がviewcontrollerで宣言したものは、delegateに直接関連していないので、viewcontroller.mファイル内で管理する必要があります。あなたの洞察をありがとう! – user1005240

関連する問題