2012-01-13 13 views
1

Q)すべてのインターフェイスクラスがスーパークラスから継承する必要がありますか? Q)以下のコードでは、ARCを使用している病院のiOS5から、私が間違っていない限り、まだプレイする必要があります(プレイヤーはNSMUtable配列です)。これが必要ですか? Player * player = [[Player alloc] init];iOS5 SDK - ARCとメモリ管理

{players = [NSMutableArray arrayWithCapacity:20]; 
Player *player = [[Player alloc] init]; 
player.name = @"Bill Evans"; 
player.game = @"Tic-Tac-Toe"; 
player.rating = 4; 
[players addObject:player]; 
player = [[Player alloc] init]; 
player.name = @"Oscar Peterson"; 
player.game = @"Spin the Bottle"; 
player.rating = 5; 
[players addObject:player]; 
player = [[Player alloc] init]; 
player.name = @"Dave Brubeck"; 
player.game = @"Texas Hold’em Poker"; 
player.rating = 2; 
[players addObject:player];} 

Q)は、JavaのすべてにインタフェースファイルとIEの実装ファイルのサブクラスを作るの周りのルールはObjectクラスから派生しているどのようなので、我々は両方のimplementaiotn /インタフェースクラスのNSObjectのを宣言するか、その必要がないと他にありません私はこれを定義するのだろうか?

Q)どちらが推奨されていますか? A:Player * player = [[Player alloc] init]; OR B:Player * player = [[Player new]; //これが違法でない限り?

Q)は、Mac OS Xアプリ、またはiOS(iphone/touchなど)でのみ使用できるARCです(手動メモリ管理はまだ必要です)。

Q)シングルトンパターンをObjective-c、ココアタッチiphoneアプリに適用できますか?

答えて

1
  • あなたは、あなたが特に
  • [[Player alloc] init][Player new]に相当し、いくつかの他のクラスから派生する場合を除き、NSObjectから
  • は常にあなたのクラスを派生オブジェクトをインスタンス化する[[Player alloc] init]をしなければならないが、前者が好ましいです[[Player alloc] initWithName:@"John Doe"]
  • ARCはガーベッジコレクションの代わりに使用する必要があるiOSとMacの両方で使用できますが、これは廃止予定です。
  • あなたは
+0

のiOS >> は-iことを理解し、具体的、いくつかの他のクラスから派生し、必要な場合を除き、常に、NSObjectのからあなたのクラスを派生でシングルトンを作成することができないであろう理由

  • が、私は見ませんが、私は何を尋ねようとしているかは、明示的に定義するのか、それともコンパイラが処理するのかということですね。 - シングルトンパターンでは、このアイデアでiOS5の信頼できるコードを見つけることができませんでしたか? > [Player alloc] initWithName:@ "John Doe"] 私はここで少し失われていますが、initWithNameはNSMuttable配列クラスのメソッドです。 – codejunkie

  • +0

    @RedMan NSObjectはCocoaの基本クラスですが、それから派生する必要はありません。明示的に実行しないと、提供する機能を利用できなくなります(https://developer.apple.com/library/prerelease/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/ NSObject.html%23 // apple_ref/occ/intf/NSObject)。シングルトンに関しては、非iOS環境と異なる理由がわかりません。この質問は例を参照してください。http://stackoverflow.com/questions/145154/what-does-your-objective-c-singleton -look-like –

    +0

    その他のリファレンスを追加するクラスメソッドはシングルトンパターンを使用するのに理想的で唯一の方法です。 – codejunkie