UIViewController* vc = [[NSClassFromString(record.anObject) alloc] initWithNibName:record.anObject bundle:nil];
1) [myNavigationController navigateToViewController:vc animated:NO];
2) dispatch_async(dispatch_get_main_queue(), ^(void){
@autorelesepool
{
[myNavigationController navigateToViewController:vc animated:NO];
}
});
탐색 스택에서 그리고 만약 팝업 내가 다음 2를 사용할 때 그때 1을 사용하는 컨트롤러 vc
이 해제됩니다 볼 경우 코드 1과 2를 확인하시기 바랍니다 naviagation 스택에서 팝 때 내보기 컨트롤러 할당이 취소되지 않습니다.아이폰 OS : 나는 블록을 dispatch_async을 통과하면보기 컨트롤러 인스턴스를 해제하지 않습니다
나는 ARC
을 사용하고 있습니다. 어떤 몸이라도 제 2 구현을 위해 VC의 메모리를 어떻게 비울 수 있습니까? 내가 __block
유형의 임시 변수를 시도하고 disaptch_async 블록의 끝에 nil
로 설정했지만 작동하지 않습니다.
나는 이것이 트릭을 할 것이라고 생각한다. –
@Oleg가 맞습니다. 운영자에게 전달되는 모든 것은 약하게 인스턴스화되어야합니다. – AzaFromKaza
@AzaFromKaza : 아니요, 완전히 옳지 않습니다. – newacct