xcode에서 작동합니다. void가 아닌 메소드를 작성한 경우 클래스/메소드에서 호출하면 결과가 최적의 경우에만 처리됩니다. 지연을 삽입하여 테스트를 시도했지만 더 이상 작동하지 않는다는 것을 깨달았습니다. 여기 내가 만든 예제를 적어됩니다지연을 사용하여 리턴으로 메소드를 생성합니다.
//--------------------CLASS B
-(int)method1 {
[self performSelector:@selector(method2) withObject:NULL afterDelay:1];
return a;
}
-(void)method2 {
a = 800;
}
은 분명히 내 문제는 너무 사소한 일이 아니라
//--------------------CLASS A
- (void)viewDidLoad {
[super viewDidLoad];
i = 0;
Class *classB = [[Class alloc] init];
i = [classB method1];
[self performSelector:@selector(method3) withObject:NULL afterDelay:1.8];
}
-(void)method3 {
NSLog(@"i = %i",i); // i = 0
}
클래스 B는 I가 시도 클래스 가능한 한 철저하게 답변을 얻으려면 쉽게, 모달 방법을 사용하도록 권고했지만 그게 내가 찾던 해결책이라고 생각하지 않습니다.
이 문제를 해결하려면 어떻게해야합니까?!
가장 좋은 방법은 작업 완료를 기다리는 비동기 호출을 사용하는 것입니다.이 작업은 GCD를 사용하여 매우 쉽게 할 수 있습니다. – Simon
좀 더 구체적으로 알려주시겠습니까? – Filoo
michaels 접근 방식이 대리인과 함께하면 더 좋습니다! – Simon