Компилятор недостаточно умен, чтобы сделать вывод, что (arc4random() % 4) + 1
всегда находится в диапазоне [1..4]
.Просто инициализируйте imageToReturn
в ноль, и предупреждение исчезнет.
Примечание: если вы используете это, и в какой-то момент вы меняете модуль в генерации случайных чисел, выможет вернуть null
s вызывающей стороне (без предупреждения вашего дружественного компилятора), если вы не адаптируете свою последовательность if
/ else
соответствующим образом.
Если это не то, что вам нужно, используйте утверждениегде-то (возможно, добавив «catch-all» else
предложение и указав там).
Также рассмотрите возможность использования здесь блока switch
вместо последовательности if
/ else
, этосамая естественная конструкция здесь, на мой взгляд.