먼저 을 추측 할 때 [self viewDidLoad];
을 자동으로 호출해야합니다.
두 번째 retryInteger 란 무엇입니까? 이 대답은 사용자가 이미이 버튼을 누르거나 무언가를 한 경우 설정 한 값입니다.
- (IBAction)retryOrNextLevel:(id)sender {
if (retryInteger == 1){
[self callSomeMethodThatIsntVIEWDIDLOAD];
}
if (retryInteger == 2){
Level2 *secondLevel = [[Level2 alloc] initWithNibName:@"Level2" bundle:nil];
[secondLevel setTitle:@"Level2"];
// Pushing onto a navigationController would seem more logical (Would recommend)
// [self.navigationController pushViewController:secondLevel animated:YES];
// Otherwise you want this
[self presentViewController:secondLevel animated:YES completion:nil];
}
}
가이 답변에 가정 몇 가지이며, 당신이 당신의 질문을 업데이트 할 때까지이 답변은 가정을 기반으로합니다
그래서 우리는 당신의 코드와 함께 무엇을 할 수 있는지 볼 수 있습니다. 우선 Level2
은 UIViewController
입니까? 어떤 오류가 발생하고 있습니까? 원래 코드는 뷰 컨트롤러를 제공해야하므로, 컨트롤러를 제시하려고 시도 할 때 Level2
컨트롤러에서 뭔가를하고 있다고 가정 할 것입니다. 컨트롤러가 잘못되었을 때 컨트롤러가 Level2
컨트롤러에 나타나면이 라인에 표시됩니다 [self presentViewController:secondLevel animated:NO completion:Nil];
나는 또한 그것이 당신이 무의미하다고 말한 것처럼 움직이는 것처럼 만들어서 modalTransitionStyle
을 무의미하게 만든다.
질문을 업데이트하면이 대답을 개선하려고 노력하지만, 그렇게 할 때까지 할 수있는 일이 많지 않습니다. 크래시에서 앱이 종료되면 예외가 발생하면 중지 될 Exception Breakpoint
을 사용합니다.
편집
당신은 [self retryOrNextLevel]
를 호출하지 않는 당신은 당신이 올바른 메소드를 호출하지 [self retryOrNextLevel:myButton]
를 호출되고 싶어요. 어느 곳에서든 호출하면 매개 변수가 누락되어 :myButton
이 누락됩니다. 귀하의 방법은
- (IBAction)retryOrNextLevel:(id)sender;
하지
- (IBAction)retryOrNextLevel;
참고 보낸 사람 매개 변수입니다.
는 내가 대답을 발견
if([self respondsToSelector:@selector(retryOrNextLevel:)] {
// Code for calling the method.
}
에 오신 것을 환영합니다.약간의 충고는 당신이'xcode'를 사용하고 있다고해서 xcode 태그를 사용할 수 있다는 것을 의미하지는 않는다. 'xcode' 태그는'xcode IDE '자체의 문제점을 위해 예약되어 있습니다. 또한이 질문은'switch-statements'와는 아무런 관련이 없으므로이 태그를 사용하지 마십시오. https://www.google.co.uk/search?q=switch+statements+in+objective- 어떤 사람인지 모른다면 c & ie = utf-8 & oe = utf-8 & aq = t & rls = org.mozilla : ko-US : official & client = firefox-a – Popeye
무엇이 오류입니까? 그래도 viewDidLoad를 수동으로 호출하면 안됩니다. –
retryOrNextLevel 버튼을 누르면 앱이 종료되고 이유를 알 수 없습니다. – MatisDS