Второй параметр replaceObjectAtIndex должен быть действительным указателем на объект.Из вашего описания звучит так, будто вы пытаетесь передать значение типа int (selectedColour), которое не является допустимой ссылкой на объект.
Я считаю, что вместо передачи значения selectedColour int вы хотите передать ссылку на фактический цветовой объект.Вероятно, это будет ссылка на объект UIColor.
Также имейте в виду, если вы пытаетесь сохранить много объектов, представляющих один и тот же цвет.В целях эффективного использования памяти вы, вероятно, захотите сохранить в своем массиве tempPallette ссылки, указывающие на один и тот же цветовой объект для тех записей, которые используют тот же цвет.
Надеюсь, это поможет.Удачи.