0
好吧,我有我的ImagePicker所有設置和ALAssetLibrary設置來獲取圖片和標題(如果它存在現有圖片或新圖片的通用文本),但現在我試圖找出是否有辦法我可以在assetForURL方法的塊調用之外訪問此信息。因此,這裏是我的代碼,這樣我可以展示所發生的事情(這是在屏幕的viewDidLoad方法的圖片做出選擇後顯示)有沒有辦法訪問resultBlock之外的ALAssets信息?
__block NSString *documentName;
__block UIImage *docImage;
NSURL *resourceURL = [imageInfo objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *asset)
{
ALAssetRepresentation *imageRep = [asset defaultRepresentation];
//Get Image
CGImageRef iref = [imageRep fullResolutionImage];
//If image is null then it's a new picture from Camera
if (iref == NULL) {
docImage = [imageInfo objectForKey:UIImagePickerControllerOriginalImage];
documentName = @"New Picture";
}
else {
docImage = [UIImage imageWithCGImage:iref];
documentName = [imageRep filename];
}
};
// get the asset library and fetch the asset based on the ref url (pass in block above)
ALAssetsLibrary *imageAsset = [[ALAssetsLibrary alloc] init];
[imageAsset assetForURL:resourceURL resultBlock:resultblock failureBlock:nil];
現在我希望能夠使用兩個變量( documentName和docImage)在這個ViewController的其他地方(例如,如果有人想在保存它之前更改文檔的名稱,我希望能夠恢復到默認名稱),但我似乎無法弄清楚我需要什麼這樣做可以在以後使用這些變量。不知道這是否合理,所以如果我需要澄清其他事情,請告訴我。