如何为这种数据类型创建一个可变的C数组?

时间:2010-05-04 19:35:54

标签: c objective-c arrays

我的objective-c类中有这个实例变量:

ALuint source;

我需要一个可变数组的OpenAL Sources,所以在这种情况下我可能需要一个可变的C数组。

但我怎么创造一个呢?有很多问题:

1)如何创建可变C阵列?

2)如何向可变C阵列添加内容?

3)如何从可变C阵列中删除某些内容?

4)我必须注意哪些内存管理陷阱?我必须在我的-dealloc方法中释放()吗?

1 个答案:

答案 0 :(得分:2)

我会保持简单。 ALuint是某种int,因此您可以使用NSNumber轻松将其包装并将其粘贴到普通的NSMutableArray中:

ALuint bar = …;
NSMutableArray *foo = [NSMutableArray array];
[foo addObject:[NSNumber numberWithInt:bar]];

// and later
ALuint source = [[foo lastObject] intValue];