UIImagePickerControllerDelegate问题

时间:2010-08-09 18:10:08

标签: iphone objective-c uikit uiimagepickercontroller

神秘(至少对我而言)问题。这就是我正在做的事情

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    UIImage *neoImage = [[info objectForKey:UIImagePickerControllerEditedImage] retain];
    NSLog(@"neoImage: %@", neoImage);
    [self.images addObject:neoImage];
    [neoImage release];
    NSLog(@"self.images (inside delegate method): %@", self.images);
    [self renderImages];
    [picker dismissModalViewControllerAnimated:TRUE];
}

self.images声明为保留的可变数组并合成。我必须做错事,因为虽然上面的代码在用户从相机胶卷中选择图像时按预期工作,但是当他们拍摄新照片时这是NSLog输出:

[2690:307] neoImage: <UIImage: 0x24f160>
[2690:307] self.images (inside delegate method): (null)

我可能忽略了一些明显的东西?任何帮助将不胜感激。

注意:使用相机时我也会收到内存警告:

Received memory warning. Level=1

1 个答案:

答案 0 :(得分:0)

...是的,我是个白痴。这是记忆问题。我在viewDidUnload上发布了self.ideas,我想在接收到内存警告时会释放视图,因为在收到内存警告时,图像选择器模式视图处于活动状态,而不是其父级。仅在启动相机时才会引发内存警告,而不是相机拣选器,因此根据所选内容的不同,会出现不同的行为。