Я импортирую изображение из приложения Mail в свое приложение, получаю изображение и пытаюсь отправить его на главный контроллер представления через AppDelegate. Я могу использовать NSLog @, чтобы подтвердить, что изображение проходит, но когда я пытаюсь его использовать, оно отображается как null. Вот мой код:Передача данных из других приложений с помощью «Открыть в», когда основной вид загружается через Storyboard?
В AppDelegate.m
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if (url !=nil && [url isFileURL]) {
MainViewController *view = [[MainViewController alloc] init];
[view handleDocumentOpenURL:url];
NSLog(@"Url 1: %@", url); // Url appears
}
return YES;
}
В моей MainViewController.m
- (void)handleDocumentOpenURL:(NSURL *)url {
NSData *imageData = [NSData dataWithContentsOfURL:url];
self.importedImage = [UIImage imageWithData:imageData];
NSLog(@"Image %@", self.importedImage); // Shows the object exists
}
Проблема заключается в том, что если я пытаюсь открыть UIImage (self.importedImage) от других методов он говорит, что он равен нулю (он работает в рамках вышеупомянутого метода).
Дополнительная информация: Я объявляю importedImage
как UIImage в файле MainViewController.h.
Я предполагаю, что мой AppDelegate, возможно, не будет обращаться к фактическому MainViewController, кроме его копии. Я искал ответ и ничего не нашел, любая помощь приветствуется.
Спасибо вам за ответ. Фактически importImage является UIImage. Извините, что не упоминал об этом на этом посту. – AndreVitorio
вы пробовали после UIImage alloc и init. self.importedImage = [[UIImage alloc] init]; self.importedImage = [UIImage imageWithData: imageData]; –
Я пробовал это раньше, но это не сработало. Мне удалось это исправить, вы можете проверить ответ ниже. Спасибо, что помогли @Tluck – AndreVitorio