UIImagePickerController在NSMutableArray中的对象

时间:2010-11-04 07:53:31

标签: iphone objective-c ipad iphone-sdk-3.0 ios4

我需要将UIImagePickerController选择的对象添加到NSMutabeArray中,代码如下:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [picker dismissModalViewControllerAnimated:YES];

    if(![imagesArray containsObject:[info objectForKey:@"UIImagePickerControllerOriginalImage"]])
        {
        [imagesArray addObject:[info objectForKey:@"UIImagePickerControllerOriginalImage"]];

        } 
    else {
           //some procedures
            }
}

问题是它总是落入if块,并且在重复选择相同图像时从不执行else块。任何关于此的线索将不胜感激。

2 个答案:

答案 0 :(得分:1)

我认为您的问题是无法使用isEqual:来比较UIImage的两个实例,其中包含Object:正在使用,即使它们指向同一个图像文件。我不知道如何比较两个UIImage,但你可以查看Generate hash from UIImage或搜索“比较UIImage”。

答案 1 :(得分:0)

通过施法检查。以这种方式添加它:

UIImage *img =[info objectForKey:@"UIImagePickerControllerOriginalImage"];
if(![imagesArray containsObject:img])
 [imagesArray addObject:img];