Предупреждение XCode: инициализация делает указатель из целого числа без приведения (при попытке присвоить значение NSNumber)

Я застрял с предупреждением в Xcode, пытаясь разработать небольшое приложение для iPhone. У меня есть этот кусок кода в Xcode:

NSNumber * randomNumber = arc4random ()% [количество массивов];

Если я NSLog randomNumber, кажется, все работает, но Xcode продолжает предупреждать меня, говоря:

Инициализация делает указатель из целого числа без приведения

Должно быть что-то, чего я не понял. Спасибо заранее за помощь мне:)

1 ответ

NSNumber является объектом objc, а int или float - нет. Теперь вы назначаете указатель типа int/float, что не совсем правильно.

Пытаться:

// if the result is an int:
NSNumber *randomNumber = [NSNumber numberWithInt: (arc4random() % [array count])];

// if the result is a float: 
NSNumber *randomNumber = [NSNumber numberWithFloat: (arc4random() % [array count])];
Другие вопросы по тегам