gpt4 book ai didi

iphone - 图片网址保存

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:31 26 4
gpt4 key购买 nike

下面是我的项目的工作原理,我有一个 UIScrollView,它下面是一个按钮 addButton,单击时会将您重定向到 AGImagePickerController(对于那些不知道 AGImagePickerController 的人来说,它是一个多图像选择器)。然后单击图像(单个或多个图像)。当您按下 DONE 时,它会将图像保存在 NSCachesDirectory 中。它将显示在 UIScrollView 中选择的图像(可以删除)。当您再次按下 addButton 时,它会显示您刚才用 checkMark 选择的图像。

问题: 当我在 UIScrollView 中删除图像时,在 AGimagePickerController 中删除的图像仍然被选中。需要的是在 UIScrollVIew 中删除时也会在 AGimagePickerController 中删除。

我想做的是,通过 URL 保存它的图像,然后将它放在我的 NSCachesDirectory 中的一个文件夹中,这样我就可以轻松加载它,但我不知道从哪里开始,因为我在 UIScrollView 中按带有整数的名称排列我的图像。希望有人可以建议该怎么做。非常感谢。

注意:对于那些读过这篇文章的人,请评论您希望我在此处发布代码的哪一部分,或者您有问题的部分。再次感谢您。


代码:

这是我的完成部分:

for (int i = 0; i < info.count; i++) {

//NSLog(@"%@", [info objectAtIndex:i]);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask ,YES );
NSString *documentsDir = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"oneSlotImages%u.png", i]];

ALAssetRepresentation *rep = [[info objectAtIndex: i] defaultRepresentation];
UIImage *image = [UIImage imageWithCGImage:[rep fullResolutionImage]];

//----resize the images
image = [self imageByScalingAndCroppingForSize:image toSize:CGSizeMake(256,256*image.size.height/image.size.width)];

//----fix image orientation
image = [image fixSlotOrientation];

NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:YES];

}

然后在我的AGIPCAssetsController.m(其中保留图片checkmark部分)

- (void)loadAssets
{
count = 0;
[self.assets removeAllObjects];

AGIPCAssetsController *blockSelf = self;

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
// Where I make an array to put the `ALAsset Url`
selectedPhotos = [[NSMutableArray alloc] initWithArray:blockSelf.imagePickerController.selection];

@autoreleasepool {
[blockSelf.assetsGroup enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
// ALAssetRepresentation* representation = [result defaultRepresentation];
// NSUInteger assetindex= [blockSelf.assetsGroup numberOfAssets];

if (result == nil)
{
return;
}



AGIPCGridItem *gridItem = [[AGIPCGridItem alloc] initWithAsset:result andDelegate:blockSelf];
if(count < blockSelf.imagePickerController.selection.count)
{
if ( blockSelf.imagePickerController.selection != nil &&
[result isEqual:[selectedPhotos objectAtIndex:count]])
{
gridItem.selected = YES;
count++;
NSLog(@" %@",result);
}
}
[blockSelf.assets addObject:gridItem];

}];
}

dispatch_async(dispatch_get_main_queue(), ^{

[blockSelf reloadData];

});

});
}

最佳答案

我认为是因为它们都有相同的变量引用,检查您的变量引用并比较两者,让我知道您发现了什么。

关于iphone - 图片网址保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com