0
OSX Lion 용 Cocoa 앱을 빌드하려고합니다. 나는 내 AppController가 코드에서이 라인을 가지고 :ViewController에서 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 줄에 중단 점을 추가하려고 했습니까? 두 줄 모두에서 동일한 객체를 가져 오도록 self를 기록 할 수도 있습니다. – gaige
'LoginViewController'인스턴스가 두 개 이상 생성 될 수 있습니까? 예를 들어 IB가 하나입니다. 'NSLog' 둘 다에서'% p'를 사용하여'self'를 출력하면 일치합니까? – sbooth
확인 LoginViewController 인스턴스가 여러 개있는 것 같습니다. 나는 그것이 가능한 방법을 얻지 못한다. – brasimon