我已将标准UIColorFromRGB定义为:
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0];
当我尝试将其用作:
if (selectedRow == indexPath.row)
cell.value.textColor = UIColorFromRGB(0x00C5FE);
else
cell.value.textColor = [UIColor blackColor];
但我收到错误“预期表达”。
如果我将其更改为:
if (self.selectedRow == indexPath.row) {
cell.value.textColor = UIColorFromRGB(0x00C5FE);
}
else
cell.value.textColor = [UIColor blackColor];
我想知道为什么会这样?
答案 0 :(得分:4)
您的宏有一个尾随分号,因此您的第一段代码扩展为:
if (selectedRow == indexPath.row)
cell.value.textColor = [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0];;
else
cell.value.textColor = [UIColor blackColor];
注意第2行的第二个分号。
从宏的末尾删除分号。