0
在調用AppController的方法,我試圖建立OSX獅子可可應用程序。 我有我的AppController這行代碼:從視圖控制器
self.viewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil appController:self];
[_view addSubview:[_viewController view]];
[[_viewController view] setFrame:[_view bounds]];
LoginViewController看起來是這樣的:
@implementation LoginViewController
@synthesize appController = _appController;
- (id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil appController:(AppController *)appController {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self setAppController:appController];
NSLog(@"Appcontroller init: %@", _appController);
}
return self;
}
- (IBAction)login:(id)sender {
NSLog(@"Appcontroller login: %@", _appController);
}
的登錄方法連接到一個按鈕的點擊。
登錄:
2012-05-23 12:45:49.574 QBLoader[3241:503] Appcontroller init: <AppController: 0x7fe2ab210440>
2012-05-23 12:45:52.085 QBLoader[3241:503] Appcontroller login: (null)
爲什麼是第二個日誌行空?
你嘗試在@synthesized線增加一個破發點,看看是否值被改變了嗎?您可能還想記錄自我以確保您在兩行中都獲得相同的對象。 – gaige
是否有可能存在通過IB正在創建LoginViewController'的'多個實例,例如一個?如果你在'NSLog'中使用'%p'打印'self'它們是否匹配? – sbooth
好吧,好像有多個LoginViewController實例。我不明白這是可能的。 – brasimon