坏访问-Cocos2D
标题是相信自我描述性,所以我会开始解释我的代码..坏访问-Cocos2D
这是产生图像的代码..
- (UIImage *) convertDataToImage {
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"screenshot"];
return [UIImage imageWithData:imageData];
}
如果我这样调用[(AppDelegate*)[[UIApplication sharedApplication] delegate] sendEmailWithImage:[self convertDataToImage]];
这种方法然后一切都很好,它的速度身边..怎么我有需要同一图像的方法堆..所以我想打电话convertImageToImage
方法只有一次..
所以我尝试..
.H
UIImage *image;
.M初始化
image = [self convertDataToImage];
,最后
[(AppDelegate*)[[UIApplication sharedApplication] delegate] sendEmailWithImage:image];
似乎像一切都没有问题,因为它是..但我得到一个坏的访问错误..
我该如何解决这个问题?
在此先感谢..
更新:在我的初始化我尝试使用下面的代码
CCTexture2D *texture = [[[CCTexture2D alloc] initWithImage:image] autorelease];
CCSprite *sp = [CCSprite spriteWithTexture:texture];
sp.position = ccp(100, 100);
[self addChild:sp];
,它是工作..但外面的init仍然没有工作.. 我自动释放质地,它是否也释放我的形象?
既然你不要在你的项目中使用ARC,你应该retain
由[self convertDataToImage]
返回UIImage
实例:
image = [[self convertDataToImage] retain];
另外,你也许应该看看ARC;) – buildsucceeded 2013-03-19 23:08:14
谢谢..工作得很好.. – user1526474 2013-03-19 23:12:45
NA ..我觉得弧有点慢.. – user1526474 2013-03-19 23:13:07
你在项目中使用ARC? – Hejazi 2013-03-19 22:59:31
我不使用弧..我更新了我的问题。 – user1526474 2013-03-19 23:00:55
然后,我认为你应该保留图像。 – Hejazi 2013-03-19 23:05:00