% оператор дает странный результат в быстром ios
Я знаком с математикой и с тем, что дает нам оператор% (по модулю) для определенных значений. Тем не менее, я следую лекции по коду Swift, и инструктор хочет вернуть значение где-то между 0 и половиной высоты представления. Он устанавливает уравнение как:
var offSet = arc4random ()% UInt32 (self.frame.size.height / 2)
Я должен что-то упустить. Если бы дуга не давала число от 0 до 1, а затем выполнение% по высоте (примерно 700 пикселей) всегда давало бы 0. Тем не менее, каждый раз, когда код запускается, он смещает случайную величину где-то между 0 и половиной высоты экран. Если я изменю% на *, программа вылетает.
Идеи?
1 ответ
Прочитайте справочную страницу arc4random()
"arc4random() function returns pseudo-random numbers in the range of 0 to (2**32)-1"
Таким образом, ваше случайное число будет чем-то потенциально большим, тогда по модулю оно попадет в диапазон 0 - (height/2 - 1)