2009-05-22 8 views
0

このスレッドに従うことによって、複数のビューコントローラで使用できるオブジェクトを作成しようとしています。複数のビューコントローラ間でオブジェクトを使用する

One instance across multiple views in Cocoa Touch

しかし、それは私のために働いていません。だから私は何が起こっていたのかを見るために基礎から始めました。私はオブジェクトのローカルインスタンスを作成しました。

PlayerData *playerOne = [[PlayerData alloc] init]; 
playerOne.completedRound += 1; 

私は、デバッガでこれを調べることができますし、私はそれを作成するときにすべての値に0を参照し、それがそのように私は私のオブジェクトクラスが正しく書かれているように感じるのコードの適切な行で更新されます。

私はこのように私のヘッダファイルでオブジェクトを定義しようとすると:私のUIViewController.hで

を私は次のよう

を追加した私のUIViewContoller.mで次

#import "PlayerData.h" 

PlayerData *playerOne; 

@property (nonatomic, retain) PlayerData *playerOne; 

を追加しました

#import "PlayerData.h" 

@synthesize playerOne; 

playerOne.completedRound += 1; 

私はそれを動作させることはできません。コードはうまくコンパイルされますが、変数のうちデバッガでインスタンスを表示すると設定されることはありません。おそらく愚かな質問の

答えて

1

カップル:

  1. [PlayerData init]はゼロにあなたの財産を初期化していますか?
  2. あなたが増やそうとする前にUIViewControlleralloc/initPlayerDataオブジェクトがありますか?
+0

それでした。値が0であっても問題ないかもしれないと思ったが、@synthesizeがそうしなければならないと思った。 – Aaron

関連する問題