2011-05-02 55 views
0

我正在使用自定义图像选择器的应用程序,并尝试尽我所能,我似乎无法获取应用程序跑得很对。 Xcode调试器标记以下“线程1:程序接收信号:”SIGABRT“。”模拟器崩溃“[NSMutableArray insertObject:atIndex:]:尝试在0'处插入零对象”

- (id) init { 
    if ((self = [super init])) { 
     _images = [[NSMutableArray alloc] init]; 
     _thumbs = [[NSMutableArray alloc] init]; 
    } 
    return self; 
} 

- (void)addImage:(UIImage *)image { 
    [_images addObject:image]; 
    [_thumbs addObject:[image imageByScalingAndCroppingForSize:CGSizeMake(64, 64)]]; 
} 

这是在新的调试器上的xcode 4。 在此先感谢。

+4

再次读取异常。 'image'或'[image imageByScalingAndCroppingForSize:]'为零。很可能您的图像缩放方法无法正常工作。 – 2011-05-02 00:19:42

+0

imageByScalingAndCroppingForSize定义在哪里?如果它返回零,你会得到这个错误。正如你将如果图像是零。 – 2011-05-02 00:19:45

回答

5

其中一个对象是零。以下代码将帮助您发现哪一个:

- (void)addImage:(UIImage *)image 
{ 
    if (image) 
    { 
     [_images addObject:image]; 
    } 
    else 
    { 
     NSLog(@"image is nil"); 
    } 

    UIImage *newImage = [image imageByScalingAndCroppingForSize:CGSizeMake(64, 64)]; 
    if (newImage) 
    { 
     [_thumbs addObject:newImage]; 
    } 
    else 
    { 
     NSLog(@"newImage is nil"); 
    } 
}