Objective c 如何通过手动分配索引将数据添加到NSMutableArray中?
有没有办法用Objective c 如何通过手动分配索引将数据添加到NSMutableArray中?,objective-c,cocoa,nsmutablearray,Objective C,Cocoa,Nsmutablearray,有没有办法用NSMutableArray手动控制要将数据添加到哪个索引中?例如,在PHP中,我们可以执行以下操作: $foo[2] = "fafa"; $foo[8] = "haha"; 是否可以在NSMutableArray上手动分配索引?否这是不可能的。我建议改用NSMutableDictionary。您可以使用nsnumber作为索引 - (void)insertObject:(id)anObject atIndex:(NSUInteger)index 重要如果索引大于数组中的元素数,
NSMutableArray
手动控制要将数据添加到哪个索引中?例如,在PHP中,我们可以执行以下操作:
$foo[2] = "fafa";
$foo[8] = "haha";
是否可以在
NSMutableArray
上手动分配索引?否这是不可能的。我建议改用NSMutableDictionary。您可以使用nsnumber作为索引
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index
重要如果索引大于数组中的元素数,则引发nsrange异常。
NSMutableArray
s不是稀疏的,它们不能在没有存储对象的地方有间隙。可以使用insertObject:atIndex:
(如Edu所述)在从0到长度-1的任何索引处插入对象,但除此之外,只能附加对象(使用addObject:
)
如果需要将对象与任意整数相关联,可以使用--the allows integer键,或者简单地使用NSMutableDictionary
,使用NSNumber
键(如drewag建议的)
另请参见:,因为我并不完全清楚TeamStar是否需要稀疏阵列,我只想提到,您可以使用
-replaceObjectAtIndex:withObject:
和其他-replace…
方法将对象分配给NSMutableArray
中的特定索引。如果index
大于该数字,则会引发NSRangeException
数组中元素的数目。可以使用for循环并用零填充数组。但是我认为我不是个好主意,那么,你试过NSMutableDictionary吗?但这不是使它成为一个函数吗?我可以用吗<代码>@property(非原子,复制)NSMutableArray*rangenans代码>后跟:[Rangeans insertObject:label1.text-atIndex:0]代码>原因是因为我使用的单选按钮应该更新数组行[],而不是向数组中添加更多数据,以防用户决定更改选项。。。