Я предполагаю, что компилятор видит, что есть путь к коду, который возвращает неинициализированное значение, и выдает вам новость: tempCol
- неинициализированное значение, если level
- это что-то еще, чем 4,5,6 или 7 Если вы уверены, что level
никогда не будет больше, чем 4,5,6 или 7, то добавьте else { return 0; }
в конец своей if-лестницы.
PS: Вы должны использовать оператор switch(){}
, если вам нужно сравнивать с серией постоянных значений, это часто быстрее и легче поддерживать (ИМХО). Кроме того, вы можете поместить значения RGBA в массив, который вы индексируете с помощью level
.
(Отказ от ответственности: я не делаю Objective-C. Никто не должен делать это)