2014-11-12 2 views
1

У меня есть онлайн-викторина, которую я пытаюсь заполнить, и это вопрос:Что нельзя хранить в NSDictionary?

Одно из следующих не может быть сохранено в NSDictionary. Это не может быть сохранен, потому что это тип _____:

UIView NSNumber NSInteger UIColor

Заполните пустые.


Я не могу найти ответ нигде в Интернете. Насколько я могу судить, все они имеют способ хранения в NSDictionary, любые идеи?

+0

'NSInteger' ??? –

+1

Вы завершаете викторину, которая проверяет совместное знание Интернета? – Caleb

+0

И вот я подумал, что вы хотите понять разницу между типами ... ;-) –

ответ

5

NSInteger! потому что это примитивный тип

+0

Вот и все! Спасибо! – ahatzz11

1

Примитивные типы, поскольку они не являются объектами. Может быть добавлено все, что является объектом.

Основное различие связано, где они остаются в памяти, объекты хранятся в куче, а тип значения сохраняются непосредственно в стеке ...

куча: это область памяти, используемой для динамической памяти распределение.

стек: это раздел памяти, который выделяется для автоматических переменных внутри функций. Данные хранятся в стеке с использованием метода Last In First Out (LIFO).

О NSInteger и NSNumber:

NSInteger не что иное, как синоним для длинного целого, в то время как NSNumber является класс Objective-C, подкласс NSValue быть конкретными.

What is the difference between primitive data type vs an non primitive data type(apple defined data type)?

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/

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