동일한 파일 MainWindow.xib에 모든보기가있는 범용 응용 프로그램이 있습니다. 오늘은 이러한 뷰를 각각의 xib 파일 (예 : MainMenuController.h, MainMenuController.m 및 MainMenuController.xib)로 분리하기로 결정했습니다. 이제는 IBActions를받을 수 없습니다. 여기에 내가 단계별로 한 것입니다 : xib 파일의 이름을 바꾼 후에 IBAction이 작동하지 않습니다.
- 나는 MainMenuController.xib라는 새 .xib 파일을 생성하고 이미 존재 MainMenuController 클래스에 파일의 소유자입니다 설정합니다.
MainWindow.xib 파일의 MainMenuController에 해당하는 뷰를 복사하여 새로 만든 MainMenuController.xib에 붙여 넣었습니다. File 's Owner 뷰를 새로 붙여 넣은 뷰 (IB로 연결됨)로 설정했습니다.
info.plist에서 "Main xib file base name"에 대한 항목을 제거 했으므로 응용 프로그램이 MainWindow.xib와 함께 자동으로 열리지 않습니다.
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; mainMenuController = [[MainMenuController alloc] init]; self.window.rootViewController = mainMenuController; [self.window makeKeyAndVisible]; [mainMenuController release];
"mainMenuController"및 "창"인스턴스 변수도 속성으로 선언을 :
- 나는 프로그래밍 방식으로 창을 생성하고이 코드로에 MainMenuController를 추가 앱 대리자를 수정했습니다.
나는 하나 개의 AppDelegate에 클래스와 main.m가 포함되어있는 다음 MainMenuController의 견해가 올
int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }}
가능한 오류 : (1) 응용 프로그램 창을 제대로 설정하지,이 이벤트를 전달하지 않습니다, (2) 무언가가 붙어 또는 뷰를 복사하는 동안 여전히 이전 소유자 를 가리키는 손실입니다 (3) xcode 프로젝트에 뭔가 잘못 붙어있다
당신은 그 문제가 어떻게 될 것이라고 생각하니? 위의 것 중 하나입니까? 이 문제를 어떻게 해결할 수 있습니까? 어떤 도움을 주셔서 감사합니다.
미리 감사드립니다. 메인 뷰 컨트롤러의
답변 주셔서 감사합니다.하지만 init 및 initWithNibName을 모두 시도했습니다. 아무런 차이가 없습니다. –
아무런 효과가 없다는 것은 불가능합니다. 당신이'UINib nibWithNibName : bundle :'을한다면 유효한 객체를 다시 얻을 수 있습니까? – Tommy
이 함수는 가비지 문자열의 경우에도 아무 이유없이 nil을 반환하지 않습니다. 밤에이 문제로 고생하고 나면 환경에 문제가 있으며 처음부터 시작한다고 결정했습니다. 어쨌든 도움을 주셔서 대단히 감사합니다. –