所以这就是我的代码:
[dataCenter.tempPalette replaceObjectAtIndex:9 withObject:selectedColour];
对象9确实存在,并且它当前是一个int(不确定是否重要)。 selectedColour也是一个int。 dataCenter.tempPalette是一个NSMutableArray。
它给我的错误是:
传递'replaceObjectsAtIndex:withObject:'的参数2,使整数指针不带强制转换。
有什么想法吗?
答案 0 :(得分:6)
整数不是对象。如果要在NSMutableArray中存储整数,则需要首先使用+ [NSNumber numberWithInt:]将它们转换为NSNumbers。错误消息抱怨您正在传递一个需要指针(对象)的int。
答案 1 :(得分:0)
replaceObjectAtIndex的第二个参数需要是指向对象的有效指针。从您的描述中,听起来您正在尝试传入一个int值(selectedColour),它不是对象的有效引用。
我相信,您希望将引用传递给实际的颜色对象,而不是传入selectedColour int值。这可能是对UIColor对象的引用。
另外请记住,如果您尝试存储许多表示相同颜色的对象。为了有效地使用内存,您可能希望在tempPallette数组中存储指向使用相同颜色的条目的相同颜色对象的引用。
希望这会有所帮助。祝你好运。