Ich habe einen "ImageOpenDialog" mit FMX auf dem iPhone programmiert. Jetzt sehe ich den Wald vor lauter Bäumen wohl nicht mehr: In meinem Delegate versuche ich die Informationen über das gewählte Image aus dem NSDictionary auszulesen. Ich erhalte aber immer eine
Exception, obwohl der Schlüssel (und auch der Wert) definitiv existiert.
Delphi-Quellcode:
procedure ImgDelegate.imagePickerControllerDidFinish(ImagePickerController : UIImagePickerController; ImageInfo : NSDictionary);
var
Image : UIImage;
begin
NSLog(NSStr(PChar('Selected picture!')));
NSLog(ImageInfo.Description);
NSLog(ImageInfo.valueForKey(NSStr('@UIImagePickerControllerReferenceUrl')));
ViewController.dismissModalViewControllerAnimated(True);
end;
Ausgabe von ImageInfo.Description:
Code:
2011-10-17 10:00:24.915 ImagePicker[1430:b303] {
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0xa2841c0>";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=1000000001&ext=JPG";
}
Und das passiert wenn ich den Schlüssel abfrage:
Code:
2011-10-17 10:00:25.851 ImagePicker[1430:b303] *** Terminating app due to uncaught
exception 'NSUnknownKeyException', reason: '[<__NSCFDictionary 0x513a1a0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key UIImagePickerControllerReferenceUrl.'
Was mache ich falsch?