Ich importiere ein Bild von der Mail-App in meine eigene App, ich bekomme das Bild und versuche, es über AppDelegate an meinen Hauptansicht-Controller zu senden. Ich kann NSLog @ verwenden, um zu bestätigen, dass das Bild durchläuft, aber wenn ich versuche, es zu verwenden, wird es als Null angezeigt. Hier ist mein Code:Übergeben von Daten aus anderen Apps mit "Öffnen in", wenn die Hauptansicht über das Storyboard geladen wird?
In 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;
}
In meinem MainViewController.m
- (void)handleDocumentOpenURL:(NSURL *)url {
NSData *imageData = [NSData dataWithContentsOfURL:url];
self.importedImage = [UIImage imageWithData:imageData];
NSLog(@"Image %@", self.importedImage); // Shows the object exists
}
Das Problem ist, dass, wenn ich versuche, diese UIImage zuzugreifen (self.importedImage) von anderen Methoden es besagt, dass es null ist (es funktioniert innerhalb der oben genannten Methode).
Zusätzliche Informationen: Ich erkläre die importedImage
als UIImage auf meiner MainViewController.h-Datei.
Ich nehme an, dass mein AppDelegate möglicherweise nicht auf den eigentlichen MainViewController, sondern eine Kopie davon zugreifen. Ich habe mich nach einer Antwort umgesehen und konnte nichts finden, jede Hilfe wird geschätzt.
Danke für Ihre Antwort. Eigentlich importierteImage ist ein UIImage. Entschuldigung, dass ich dies auf dem Post nicht erwähnt habe. – AndreVitorio
haben Sie versucht nach UIImage alloc und init. self.importedImage = [[UIImage alloc] init]; self.importedImage = [UIImage imageWithData: imageData]; –
Ich habe das vorher versucht, aber es hat nicht funktioniert. Ich habe es geschafft, es richtig zu machen, Sie können die Antwort unten überprüfen. Danke für deine Hilfe @Tluck – AndreVitorio