1
我有4個對象我的Color類的其餘初始化這樣的:獨立實例具有相同的值彼此
Color *orange = [[[Color alloc] init] initWithRed:255.0 andGreen:128.0 andBlue:0.0];
Color *purple = [[[Color alloc] init] initWithRed:255.0 andGreen:0.0 andBlue:127.0];
Color *cyan = [[[Color alloc] init] initWithRed:204.0 andGreen:0.0 andBlue:102.0];
Color *violet = [[[Color alloc] init] initWithRed:127.0 andGreen:0.0 andBlue:255.0];
這些顏色被存儲在一個陣列:
colors = [NSArray arrayWithObjects:orange, purple, cyan, violet, nil];
後來我給一個按鈕的背景顏色是這樣的:
button1.backgroundColor = [UIColor colorWithRed: ([([colors objectAtIndex: 0]) getRed]/255.0)
green:([([colors objectAtIndex: 0]) getGreen]/255.0)
blue:([([colors objectAtIndex: 0]) getBlue]/255.9) alpha:1];
我現在的問題是,即使你gh索引0處的顏色是橙色,按鈕的顏色是紫色。如果我從數組中刪除紫羅蘭沒有改變,但當我刪除顏色紫羅蘭時,按鈕變爲青色。
是什麼導致了這種奇怪的行爲?或者我做錯了什麼?
更新
這是我的顏色類:
double Red;
double Green;
double Blue;
- (id)initWithRed:(double) red andGreen:(double) green andBlue:(double) blue {
self = [super init];
if (self)
{
[self setRed:red];
[self setGreen:green];
[self setBlue:blue];
}
return self;
}
- (void) setRed:(double) red {
Red = red;
}
- (void) setGreen:(double) green {
Green = green;
}
- (void) setBlue:(double) blue {
Blue = blue;
}
- (double) getRed {
return Red;
}
- (double) getGreen {
return Green;
}
- (double) getBlue {
return Blue;
}
請顯示您的Color類的代碼。 – luk2302
爲什麼你有一個自定義顏色班? – Avi
@Avi因爲我想保存自定義顏色。 – Dalibor