我想在 obj-c(选择器)中有一个带有原语的可变数组。推荐的方法是什么?NSArray
而那些只能容纳物体。
问问题
3591 次
4 回答
7
您应该使用 anNSValue
来包装选择器或您需要的任何其他原始类型。在 Cocoa 中,SEL 是某种指针,因此您可以使用[NSValue valueWithPointer:whatever]
它来构造它并[value pointerValue]
取出它。或者,通常您可以使用[NSValue valueWithBytes:&whatever objCType:@encode(SEL)]
; 这适用于任何类型。
于 2009-10-08T22:56:41.477 回答
6
如果要存储SEL
对象数组,最简单的方法是使用函数将 s 转换为SEL
s ,将它们存储在 an中,然后在使用函数将它们取出时将它们转换回s 。NSString
NSStringFromSelector()
NSMutableArray
SEL
NSSelectorFromString()
于 2009-10-08T21:58:56.213 回答
0
除了自己管理一个 C 风格的数组(这绝对不是最好的选择,IMO),你唯一的选择是使用NSArray
/ NSMutableArray
,并使用NSNumber
. 取出值比使用实际数值类型稍微烦人,但它确实让您不必自己管理数组的内存。
于 2009-10-08T21:49:33.753 回答
0
由于原始类型通常只是数字(无论是整数还是浮点数)或指针,那么使用用于包装它们的类有什么问题呢?的NSMutableArray
,NSNumbers
例如?
于 2009-10-08T21:50:09.653 回答