Swift tableView单元格的背景选项板

Swift tableView单元格的背景选项板,swift,Swift,我试图通过添加bg颜色来定制单元格。我已经想出了如何使他们与特定的颜色。但我的目标是使用颜色托盘。所以我制作了一个包含3种颜色的数组: var bgPalette = ["red: 105/255.0, green:210/255.0, blue:231/255.0", "red: 167/255.0, green:219/255.0, blue:216/255.0", "red: 224/255.0, green:228/255.0, blue:204/255.0"] 试着用牢房里的托盘 c

我试图通过添加bg颜色来定制单元格。我已经想出了如何使他们与特定的颜色。但我的目标是使用颜色托盘。所以我制作了一个包含3种颜色的数组:

var bgPalette = ["red: 105/255.0, green:210/255.0, blue:231/255.0", "red: 167/255.0, green:219/255.0, blue:216/255.0", "red: 224/255.0, green:228/255.0, blue:204/255.0"]
试着用牢房里的托盘

cell.backgroundColor = UIColor(bgPalette[index], alpha:1.0 )
但它不起作用

Udemy的“完整iOS8和Swift课程”中的Viney告诉我为每种颜色创建4个变量,如下所示:

let myColor1: UIColor = UIColor( red: CGFloat(110/255.0), green: CGFloat(110/255.0), blue: CGFloat(255/255.0), alpha: CGFloat(1.0) )
let myColor2: UIColor = UIColor( red: CGFloat(0/255.0), green: CGFloat(110/255.0), blue: CGFloat(11/255.0), alpha: CGFloat(1.0) )
let myColor3: UIColor = UIColor( red: CGFloat(0/255.0), green: CGFloat(0/255.0), blue: CGFloat(255/255.0), alpha: CGFloat(1.0) )
let myColor4: UIColor = UIColor( red: CGFloat(210/255.0), green: CGFloat(10/255.0), blue: CGFloat(255/255.0), alpha: CGFloat(1.0) )
要使用这些颜色创建阵列,请执行以下操作:

var paletteArray:[UIColor] = [myColor1,myColor2,myColor3,myColor4]
然后在我的CellForRowatineXpath方法中从调色板中获取这些颜色

cell.backgroundColor = paletteArray[indexPath.row]
但这没有帮助。我打赌我在正确答案附近,但一旦我在斯威夫特的noob,我需要你的帮助

有没有办法在没有objective-c的情况下解决这个问题


谢谢

你没有告诉我们出了什么问题,但我认为我看到了两个错误

cell.backgroundColor = paletteArray[indexPath.row]
应该是

cell.contentView.backgroundColor = paletteArray[indexPath.row % paletteArray.count]

%
是模运算符,它返回除法的其余部分。对于tableview超过4行的情况,这里是一种预防措施

0 % 4 -> 0
1 % 4 -> 1
2 % 4 -> 2
3 % 4 -> 3
4 % 4 -> 0
5 % 5 -> 1 

正如您所见,索引将始终保持在数组的范围内。

您说的“它不工作”是什么意思?你有错误吗?是的,沃尔兹先生。我得到错误:致命错误:数组索引超出范围(lldb)谢谢您,先生。请问有什么不同?我知道%代表什么,但我为什么要用它呢?你能解释一下我的错误吗?