我正在研究 UIImageView 的一个子类,我需要的一件事是当使用 initWithImage: 消息初始化对象时,会创建一个“副本”。
我一定是在混淆某些东西,因为我看不到这里有什么不工作..
- (id)initWithImage:(UIImage *)image {
[image retain];
if (self = [super initWithImage:image]) {
if (!maskImage) {
maskImage = [UIImage imageWithCGImage:[image CGImage]];
if (maskImage != nil) {
NSLog(@"Made mask image");
} else {
NSLog(@"Failed");
}
//maskImage = [UIImage imageNamed:@"image.png"];
}
}
[image release];
return self;
}
当我构建它时没有错误,并且似乎确实创建了 maskimage(我没有收到失败消息)。但是,如果我取消注释从 png 分配的行,它就可以工作。
我错过了什么?
谢谢!