我知道我错过了一些东西,但我和我的朋友可以弄清楚是什么。
首先..我有两个.hs和.ms,我想在两个视图控制器之间共享数据 在第一个.h我有这个 - 这使变量和属性成为它们
//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 - sythesize他们
@synthesize messageString, theirTime;
然后从新的.h和.h我需要访问它们..所以在视图中加载我这样做
- (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)
任何想法的人都会很棒...如果你需要更多的代码/更少的代码只是说..我尝试过其他博客但他们都是用app代表做的..而且我不喜欢全局变量。
干杯
萨姆
答案 0 :(得分:1)
您在MemoryViewController
中初始化了一个新的-viewDidLoad
实例,因此其所有实例变量当然都是0
或nil
。如果您已经需要从MemoryViewController
获取属性,则需要引用该实例而不是创建新实例。