![]() |
|
|
![]()
|
|
| Dimanoss |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
NSInteger и int: в чём разница и что где лучше применять?
В чём смысл наличия одновременно int и NSInteger? Только совместимость с С, или же есть какой-то подвох? |
|||
|
||||
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
ну это нужно для совместимости кода на разных платформах. Например на 32х битной платформе int имеет разрядность 32 бита, а на 64х битной соответственно 64 бита.
По этому если вы будете программировать с использованием NSInteger, то код будет компилироваться без варнингов на разных платформах. Например Mac OS X 64х битная, а IOS - 32х битная |
|||
|
||||
| Dimanoss |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
хм... но, тем не менее, - NSInteger и int - разные (для компилятора) типы? Т.е. - операции без приведения, где один операнд int, а другой - NSInteger, могут ошибку вызвать?
|
|||
|
||||
| Maksys |
|
|||
|
Future Splasher ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 15.6.2005 Где: Екатеринбург Репутация: нет Всего: 17 |
Если провалиться в описание типа, то можно увидеть его иплементацию:
|
|||
|
||||
| Dimanoss |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
ок. Наглядно, спасибо.
|
|||
|
||||
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
int и NSInteger в IOS - одинаковые типы. Как уже сказал Maksys, это видно из объявления типа. А вот в MAC OS X действительно разные.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | iOS | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |