Например, при передаче value
сообщения такому NSInteger
экземпляру
[a value]
это вызывает EXC_BAD_ACCESS.
Итак, как преобразовать NSInteger
в int
?
Если это актуально, используются только маленькие числа <32.
objective-c
cocoa
nsinteger
Джеффри
источник
источник
Ответы:
Та да:
NSInteger
это не что иное, как 32/64 битное int. (он будет использовать соответствующий размер в зависимости от того, какая ОС / платформа вы используете)источник
Если вы хотите сделать это встроенным, просто приведите
NSUInteger
илиNSInteger
кint
:источник
NSInteger
значение вместоint
. Ни в том, ни в другом случае это не многострочное решение.Я не уверен насчет обстоятельств, при которых вам нужно преобразовать файл
NSInteger
вint
.NSInteger - это просто typedef:
NSInteger Используется для описания целого числа независимо от того, собираетесь ли вы для 32-битной или 64-битной системы.
Вы можете использовать
NSInteger
любое место, которое используете,int
без его преобразования.источник
Обычно используется в UIsegmentedControl, "ошибка" появляется при компиляции в 64-битном формате вместо 32-битного, простой способ не передавать его в новую переменную - использовать следующие советы, добавить (int) :
вместо того :
источник