以下作品没有问题:
toolBar.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"window_bkd.png"]];
但是,我在代码中散布了类似的语句,并希望使用以下语句对其进行清理,这些语句在执行第一个语句时崩溃:
UIColor *bkdColor = [[UIColor alloc] colorWithPatternImage:[UIImage imageNamed:@"window_bkd.png"]];
toolBar.backgroundColor = bkdColor;
[bkdColor release];
崩溃的控制台输出:
[UIPlaceholderColor colorWithPatternImage:]: unrecognized selector sent to instance 0x5203c90
感谢您的帮助,我相信这是荷马辛普森的“哇!”错误。
答案 0 :(得分:0)
您意外地在第二个版本中放置了一个alloc调用,因此您在一个实例上调用colorWithPatternImage
,而它是一个类方法。卫生署! :-)
这就是它正确完成的方式:
UIColor *bkdColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"window_bkd.png"]];