У меня есть представление под названием PatternsViewController и подпредставление под названием SolutionsViewController. Я хочу передать переменную в PatternsViewController, названном повторением в мой SolutionsViewController, прямо прежде чем я представлю его с
solutions = [[SolutionsViewController alloc] init];
solutions.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:solutions animated:YES];
Я выяснил это, слегка изменив код Squeegy.
В PatternsViewController.m
[solutions setIteration:iteration];
и в SolutionsViewController.m
-(void) setIteration:(int)value {
iteration = value;
NSLog(@"Iteration set from value: %d" , iteration);
}
solutions = [[SolutionsViewController alloc] init];
solutions.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
// Set your value here
[solutions setMyIntWithSomeMethodIWrote:123];
[self presentModalViewController:solutions animated:YES];
И в SolutionsViewController
- (void)setMyIntWithSomeMethodIWrote:(int)value {
myInstanceVar = value;
}
Почему бы просто не обойти init дополнительным аргументом, принимающим int, который вы хотите установить? Это позволит выполнить чистую инстанциацию без дополнительного вызова set.
solutions = [[SolutionsViewController alloc] initWithIntVal: int];
Я бы использовал класс Singleton.
Как должен выглядеть мой синглтон Objective-C?
Тогда вы можете сделать следующее:
[SingletonClass sharedInstance].var = iteration;
И получить к нему доступ с помощью:
[SingletonClass sharedInstance].var