2011-08-09 63 views
1

我想存儲的UIColor在plist.I看到許多環節,但沒有我的示例代碼那些沒有給出準確的answer.some的低於在plist中存儲的UIColor

CGColorRef color=[MyColor CGColor]; 
NSUInteger numComponents = CGColorGetNumberOfComponents(color); 
const CGFloat *components=CGColorGetComponents(color); 

NSArray *colorArray=[NSArray arrayWithObjects:(float)components[0],(float)components[1],nil]; 

它給不是爲我工作任何人都可以告訴我將uicolor儲存到plist的確切答案。預先感謝您。您的建議對我很重要。請提供樣本片段而不是發佈鏈接。

+1

[iPhone UIColor在Plist文件中]可能的副本(http://stackoverflow.com/questions/6911998/iphone-uicolor-in-plist-file) – albertamg

回答

3

您需要在NSNumber s的陣列中分別存儲單獨的顏色(RGBA,如果這是您使用的顏色空間)。

NSNumber *red = [NSNumber numberWithFloat:components[0]]; 
NSNumber *green = [NSNumber numberWithFloat:components[1]]; 
NSNumber *blue = [NSNumber numberWithFloat:components[2]]; 
NSNumber *alpha = [NSNumber numberWithFloat:components[3]]; 

NSArray *colors = [NSArray arrayWithObjects:red, green, blue, alpha, nil]; 

這樣做的原因是,你只能添加對象NSArray。 A floatCGFloat不是一個對象。

+0

感謝您的建議,我將與this.can一起去我店nsnumber直接進入plist。 – ajay

+0

你可以,但我建議使用一個數組。 –

+0

+1再次感謝它的工作正常。 – ajay