我在viewDidLoad
中有一个这样的数组,其中包含用于填充表格视图单元格背景颜色的UIColor
self.ColorArray = [NSArray arrayWithObjects:
@"[UIColor redColor];",
@"[UIColor redColor];",
@"[UIColor redColor];", nil];
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
cell.contentView.backgroundColor = [self.ColorArray objectAtIndex: indexPath.row % self.ColorArray.count];
}
但这会导致抛出此错误:
-[__NSCFConstantString CGColor]: unrecognized selector sent to instance 0x137b28 -
答案 0 :(得分:1)
您正在尝试将颜色作为字符串传递。
尝试传递为:
self.ColorArray = [NSArray arrayWithObjects:
[UIColor redColor],
[UIColor redColor],
[UIColor redColor], nil];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
cell.contentView.backgroundColor = [self.ColorArray objectAtIndex: indexPath.row % self.ColorArray.count];
}
答案 1 :(得分:0)
您正在使用String对象初始化颜色数组
而是尝试将UIColor
个对象添加到数组
self.ColorArray = @[[UIColor whiteColor], @[UIColor redColor], @[UIColor grayColor]];