Ответ 1
Изменение IBOutlet на IBAction
- (IBAction) saveSettings:(id) sender
Это потому, что вы пытаетесь подключить свой объект до того, как вызван вызов viewDidLoad. вы должны подождать до того, как будет вызван viewDidLoad, существует множество способов достижения этого.
добавьте это в свою функцию ViewViewController ViewDidLoad
[[NSNotificationCenter defaultCenter] postNotificationName:@"SettingsViewDidLoad" object:nil];
и это для вашего ViewController, к которому вы хотите получить доступ к кнопке
- (void) loadSettingsController {
settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsView" bundle:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(initControls) name:@"SettingsViewDidLoad" object:nil];
}
-(void)initControls{
UIButton *button = settingsViewController.loginButton;
[button addTarget:self action:@selector(saveSettings:) forControlEvents:UIControlEventTouchUpInside];
}