2016-12-27 4 views
-2

У меня есть NSInteger, который не использует указатель и NSNumber, который использует указатель. Может кто-нибудь объяснить мне, почему это так? Весь мой учитель сказал, что NSInteger используется как псевдоним типа, но я еще не знаком с этим.Почему мы используем указатель в NSInteger, но не в NSNumber?

Этот вопрос задал прямой вопрос с просьбой о причине отсутствия указателя в NSInteger; не прося всех различий.

enter image description here

+2

Я думаю, что вы можете найти ответ здесь (с еще более подробной информации): http://stackoverflow.com/questions/1285098/whats-the-difference-between-nsnumber-and-nsinteger – kbunarjo

+0

спасибо за замечательный ресурс –

ответ

0

Имейте в виду, что цель-С С. Таким образом:

  • NSInteger является скалярное , встроенный тип данных С (целое число). [Фактический размер этого целого зависит от архитектуры, 32-разрядной и 64-разрядной. Но это еще какая-то форма целых чисел.]

  • NSNumber - объект ; Объектные ссылки Objective-C представлены как C-указатели.

+0

Хорошо отлично. Получил это ... потому что указатели могут использоваться только для объектов, а не для типов данных C. –

+0

Указатели _can_ могут использоваться для типов данных C. У вас может быть указатель на int. Но у вас нет никого, кроме того, вам это не нужно. – matt

+0

Может помочь вам прочитать мою книгу: http://www.apeth.com/iOSBook/ch01.html#_pointers – matt

Смежные вопросы