Проблема с разделением переменных между представлениями - чего-то не хватает? - PullRequest
1 голос
/ 15 апреля 2010

Я знаю, что что-то упустил, но мы с другом можем выяснить, что.

Во-первых ... У меня есть два .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 - их стилизация

@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)

Любые идеи, ребята, было бы замечательно ... если вам нужно больше кода / меньше кода, просто скажите ... я пробовал другие блоги, но все они делают это с делегатами приложения ... и я не люблю глобальные переменные.

Приветствия

Sam

1 Ответ

1 голос
/ 15 апреля 2010

Вы инициализировали новый MemoryViewController экземпляр в вашем -viewDidLoad, поэтому, конечно, все его переменные экземпляра 0 или nil. Если у вас уже есть MemoryViewController, от которого нужно получить свойства, вам нужно ссылаться на этот экземпляр, а не создавать новый.

...