objective-c - 如何通过手动分配索引将数据添加到 NSMutableArray?

标签 objective-c cocoa nsmutablearray

有什么方法可以通过 NSMutableArray 手动控制我们要将数据添加到哪个索引?例如,在 PHP 中,我们可以这样做:

$foo[2] = "fafa";
$foo[8] = "haha";

可以在 NSMutableArray 上手动分配索引吗?

最佳答案

NSMutableArray 不是稀疏的——它们不能在没有存储对象的地方有间隙。可以使用 insertObject:atIndex:(如 Edu 所述)在从 0 到长度 - 1 的任何索引处插入对象,但除此之外,您只能附加对象(使用 addObject :)。

如果您需要将对象与任意整数相关联,您可以使用 NSMapTable -- functional interface允许整数键,或者简单地使用 NSMutableDictionaryNSNumber 键(如 drewag 所建议的)。

另请参阅:How to do sparse array in Cocoa

关于objective-c - 如何通过手动分配索引将数据添加到 NSMutableArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10366462/

相关文章:

ios - 自动布局动画 UIView 的 x/y 位置而不改变宽度/高度

objective-c - 查询核心数据中多个子实体类型的所有对象

ios - 排序字符串包含数字,NSMutableArray 与字典

ios - 回到屏幕时,导致我的应用崩溃的原因是什么?

iphone - 连接NSMutableArray中的所有元素以形成NSString

iphone - 带有多个参数的 objective-c switch case

iPhone:如何将包含公钥位的 SecKeyRef 或 NSData 导出为 PEM 格式?

ios - 内部使用 self 的队列调用方法上的 weakSelf

objective-c - 核心数据,NSArrayContainer 多个数组的Arraycontent

iphone - 使用 Core Graphics/Cocoa,您可以从后台线程绘制位图上下文吗?