Som*_*Man 2 properties objective-c cgcolor
我正试图设置这样的属性 -
-接口:
@property (readwrite, assign) CGColorRef otherBallColor;
Run Code Online (Sandbox Code Playgroud)
-someMethod:
CGColorRef ballColor = [UIColor colorWithRed:255.0/256.0 green:165.0/256.0 blue:239.0/256.0 alpha:1.0].CGColor;
[self setOtherBallColor:ballColor];
Run Code Online (Sandbox Code Playgroud)
一旦我尝试访问它崩溃的价值 -
-someOtherMethod(本例中为drawRect):
CGContextSetFillColorWithColor(context, otherBallColor);
Run Code Online (Sandbox Code Playgroud)
但如果在"someMethod"我做 -
CGColorRef ballColor = [UIColor blueColor].CGColor;
Run Code Online (Sandbox Code Playgroud)
......一切正常 谁能解释一下发生了什么?
非常感谢(PS,对Objective-C来说很新,一般不编程)
您必须保留返回的CGColor,您的[UIColor colorWith ...]会创建一个自动释放的实例,因此,当它超出范围(我自动释放)时,也会释放相应的CGColor.
如果我可以在这种情况下使用,我建议你使用UIColor而不是CGColorRef.
| 归档时间: |
|
| 查看次数: |
4199 次 |
| 最近记录: |