내 응용 프로그램에서는 viewController가 UIWebView를 관리합니다. Is는 응용 프로그램의 기본 스토리 보드로 생성됩니다. 이 응용 프로그램은 rtf 전자 메일 첨부 파일을 열고 해당 UIWebView에 표시 할 수 있습니다.iOS의 전자 메일 첨부 파일에서 응용 프로그램을 시작할 때의 순서
응용 프로그램이 백그라운드에서 실행되면 모든 것이 정상입니다. 응용 프로그램 대리자 메서드
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
가 호출되고 방법
[viewController loadImportedRTFDocument:url];
거기라고합니다. 컨트롤러가 문서를로드하고 표시합니다.
메일 응용 프로그램에서 첨부 파일을 선택할 때 응용 프로그램이 백그라운드에 있지 않으면 해당 응용 프로그램이 올바르게 시작됩니다. App 대리자 openURL이 호출되고 viewController는 가져온 문서를로드하라는 메시지를받습니다. 그러나 UIWebView가 할당되지 않았으므로 포인터를 표시 할 수 없습니다 (포인터를 반환 함).
내가 관찰 한 일은 컨트롤러가 나는의 ViewController가 제대로이 상황에서 초기화 된 것을 확신 할 수 방법의 viewDidLoad 메시지 ...
를 받기 전에 응용 프로그램의 위임에 의해 호출 된 메소드가 이루어지는 것이이며, 어디 UITebText 첨부 파일과 관련된 NSData 개체를로드하도록 요청해야합니까?
같은 viewController를 사용하여 모든 문서를 표시 하시겠습니까? 아니면 각각의 문서를 다시 할당 하시겠습니까? –
예, 메모리를 절약하기 위해 하나의 UIWebView를 처리하는 viewController는 하나뿐입니다. 컨트롤러는 필요한 경우 문서 HTML 컨텐트를 뷰에로드합니다. 메인보기 인터페이스를 설명하는 스토리 보드 파일을로드하는 동안 뷰는 alloc-init'ed로 간주됩니다. – Denis