1

私は何かが足りないことを知っていますが、私の友人と私は何を理解することができます.

まず.. 2 つの .hs と .ms の間でデータを共有したい - 2 つのビュー コントローラーがあります。最初の .hi にはこれがあります - 変数とプロパティを作成します

 //top half of .h


//Passing to Submit Page
NSMutableString *messageString; 
NSInteger theirTime;


}
@property (nonatomic, readwrite) NSInteger theirTime;
@property (nonatomic, retain, readwrite) NSMutableString *messageString;
/actions
@end

次に、それぞれの.mで-それらを合成します

@synthesize messageString, theirTime;

次に、新しい .h と .hi からそれらにアクセスする必要があります。

- (void)viewDidLoad {

messageString = [[NSMutableString alloc] init];

MemoryViewController *controller = [[MemoryViewController alloc] init];

timeInSeconds = controller.theirTime;

NSLog(@"Time = %d", timeInSeconds);
messageString = controller.messageString;
NSLog(@"Message - %@", messageString);
[controller release];

NSUserDefaults *HighScore = [NSUserDefaults standardUserDefaults];

bestTime.text= [NSString stringWithFormat:@"Best Time:%d", [HighScore integerForKey:@"integerKey"]];

currentTime.text = [NSString stringWithFormat:@"Current Time:%d", timeInSeconds];

[super viewDidLoad];
}

そして一番上に

#import "MemoryViewController.h"

そして今、変数が何であるかをすべて表示する.h

IBOutlet UILabel *bestTime;
IBOutlet UILabel *currentTime;
int timeInSeconds;
NSMutableString *messageString; 

そう。要するに、変数をプロパティにして合成し、ビューで他のVCのインスタンスを作成し、それらを使用して何かをしようとしました

ログアウトする

2010-04-15 20:53:09.105 Memory[3538:207] Time = 0
2010-04-15 20:53:09.107 Memory[3538:207] Message - (null)

どんなアイデアでも素晴らしいでしょう...より多くのコード/より少ないコードが必要な場合は..他のブログを試してみましたが、それらはすべてアプリデリゲートでそれを行っています..そして私はグローバル変数が好きではありません.

乾杯

サム

4

1 に答える 1

1

で新しいMemoryViewControllerインスタンスを初期化した-viewDidLoadので、もちろんそのインスタンス変数はすべて0またはnilです。MemoryViewControllerプロパティを取得する必要がある が既にある場合は、新しいインスタンスを作成する代わりに、そのインスタンスを参照する必要があります。

于 2010-04-15T09:31:22.377 に答える