我有一个UIView,我想为它设置borderColor:
UIView *myView = ...;
myView.layer.borderWidth = 1;
myView.layer.borderColor = [UIColor greenColor].CGColor;
这样做安全吗?UIColor对象将自动发布,CGColor对象也将随之发布。现在,borderColor属性是否保留CGColor,以便可以安全地自动释放UIColor,还是必须将UIColor保留在单独的实例变量中?
CGColor
不是与UIColor
相同意义上的对象,但层将使用CGColorRetain()
保留它,因此这是一个很好的
是。由于图层需要颜色才能存在,所以它会保留颜色。
尽管我同意文档或@property声明应该声明这一意图。