2014-04-03 88 views
0

爲什麼我沒有從列表中獲取隨機值?從NSSet獲取隨機對象不起作用

如果我手動設置顏色像[UIColor redColor]工作正常。

- (id) init 
{ 
    self.color = [self randomColor]; //This doesn't work 
    self.color = [UIColor someColor]; //This works 
} 

- (UIColor *) randomColor { 
    NSSet *colors = [NSSet setWithObjects:[UIColor redColor], [UIColor yellowColor], [UIColor orangeColor], nil]; 
    return [colors anyObject]; 
} 

回答

2

-anyObject不返回一個隨機對象。僅僅很難預測它將返回哪個對象(很可能它是要返回的最有效的對象,或者最簡單的內部實現)。

+0

它返回列表中的一個對象,但它沒有應用顏色。 – Godfather

+0

你是對的,它總是返回相同的顏色(綠色,與對象相同,所以我無法弄清楚)。我會用函數thx隨機化它 – Godfather