可能重复:
如何将nsstring转换为uicolor?
不是一个客观的程序员,但我不确定我不能做这样的事情.我知道我正在返回一个字符串值,但只是想要一种简洁的方法来获取这些值:
NSMutableArray *colorsArray=[[NSMutableArray alloc] init];
[colorsArray addObject:@"whiteColor"];
[colorsArray addObject:@"blueColor"];
// val5 is either 0 or 1
[view setBackgroundColor:[UIColor [colorsArray objectAtIndex:val5]]];
Run Code Online (Sandbox Code Playgroud)
这可能吗?
thx提前
为什么不直接存储颜色而不是NSString?
NSMutableArray *colorsArray=[[NSMutableArray alloc] init];
[colorsArray addObject:[UIColor whiteColor]];
[colorsArray addObject:[UIColor blueColor]];
if (val5 < colorsArray.count) // Doesn't hurt any to be safe, and this way you won't get a crash if something messes up your val5 at some point
{
// val5 is either 0 or 1
[view setBackgroundColor:[colorsArray objectAtIndex:val5]];
}
else
{
NSLog(@"Error - Color not expected - leaving color the way it is.")
}
Run Code Online (Sandbox Code Playgroud)
您编写的代码不会编译,语法无效,因为您尝试执行的[UIColor @"whiteColor"]操作不是有效的语法.你可以使用,performSelector:但除非你真的需要将颜色存储为字符串,否则这是毫无意义的.
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |