初学者到目标-c,所以请原谅基本的错误。
目标是将predictionLabel.textColor
设置为数组中的随机颜色。
// fill array colors
self.colors = @[@"redColor", @"greenColor", @"blueColor", @"greyColor", @"orangeColor", @"purpleColor"];
// get random number based on array count
int randomColor = arc4random_uniform(self.colors.count);
// set predictionLabel.textColor to random color
self.predictionLabel.textColor = [UIColor [self.colors objectAtIndex:randomColor]];
我一直在[UIColor [self.colors
收到错误消息“预期标识符”。
新的,我很难排除这个问题。有什么建议?
答案 0 :(得分:2)
尽管您愿意,但您并未使用键值编码。您实际上只是猜测UIColor
上可能存在的方法名称。为什么不使用UIColor
对象数组而不是类方法的名称。像这样:
self.colors = @[[UIColor redColor], [UIColor greenColor], [UIColor blueColor], [UIColor grayColor], UIColor orangeColor], [UIColor purpleColor]];
// get random number based on array count
int randomColor = arc4random_uniform(self.colors.count);
// set predictionLabel.textColor to random color
self.predictionLabel.textColor = [self.colors objectAtIndex:randomColor];
另外,请注意" grey"的拼写。 vs"灰"。 [UIColor greyColor]
不存在。
答案 1 :(得分:2)
你要做的就是做:
[UIColor @"redColor"];
它只是不会编译而且语法无效。
如果你坚持使用字符串,你可以这样做:
self.predictionLabel.textColor = [UIColor valueForKey:[self.colors objectAtIndex:randomColor]];