我有noob objective-c问题。如何将UIImage添加到MSMutableArray?这是我的代码:
MSMutableArray *arr = [[NSMutableArray alloc] init];
UIImage *image;
UIGraphicsBeginImageContext(contextSize);
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0, pushUpSize);
[screenWindow.layer renderInContext: context];
image = UIGraphicsGetImageFromCurrentImageContext();
}
UIGraphicsEndImageContext();
[arr addObject:image];
但是这会在程序尝试添加图像时崩溃。我在某处读到它添加一个变量而不是指针,这是正确的吗?如何将UIImage添加到数组中,它的对象不是吗?
谢谢!
答案 0 :(得分:0)
您正在初始化数组 arr
,但是将图像添加到(显然是单元化的)数组imageArr
。
根据您更新的代码,我会说image
对象可能是nil
。 docs明确禁止使用addObject:
值拨打nil
。
答案 1 :(得分:0)
@thiesdiggity:从我所看到的代码中,你的代码没有太大问题。但只要尝试下面的代码,因为我认为image
对象是nil
:
MSMutableArray *arr = [[NSMutableArray alloc] init];
UIImage *image;
UIGraphicsBeginImageContext(contextSize);
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0, pushUpSize);
[screenWindow.layer renderInContext: context];
image = UIGraphicsGetImageFromCurrentImageContext();
}
UIGraphicsEndImageContext();
if(image != nil)
{
[arr addObject:image];
}
如果您需要更多帮助,请告诉我们,请发布您的崩溃日志以获取更多帮助
希望这有帮助。