我正在尝试完成在线测验,这就是问题:
以下其中一项无法存储在NSDictionary中。它无法存储,因为它是_____类型:
的UIView 的NSNumber NSInteger的 的UIColor
填写空白。
我似乎无法在网上找到答案。据我所知,他们都有办法存储在NSDictionary,任何想法?
答案 0 :(得分:5)
NSInteger的!因为它是原始类型
答案 1 :(得分:2)
原始类型,因为它们不是对象。可以添加任何对象。
主要区别在于它们留在内存中的位置,对象存储在堆中,而值类型直接存储在堆栈中...
heap:是用于动态内存分配的内存区域。
stack:是为函数内的自动变量分配的内存部分。使用后进先出(LIFO)方法将数据存储在堆栈中。
关于NSInteger和NSNumber:
NSInteger只不过是一个长整数的同义词,而NSNumber是一个Objective-C类,NSValue的子类是特定的。