gpt4 book ai didi

ios - 将对象添加到未知大小的数组,不有序

转载 作者:行者123 更新时间:2023-11-28 08:39:37 25 4
gpt4 key购买 nike

我正在尝试寻找一种结构或方法来将对象从一个数组添加到另一个数组。澄清;

actualArray[] // size not specified
smthArray[1,9,8,4,9]

我想将对象从 smthArray 添加到第 5 个索引的 actualArray。就这样,

actualArray[,,,,,1,9,8,4,9]

第二次我可以通过乞讨添加对象。就这样,

actualArray[1,9,8,4,9,1,9,8,4,9]

我需要实现什么样的结构?

注意:NSSet 不符合我的目的,因为我关心 actualArray 顺序。

最佳答案

如果我没理解错的话,您是在尝试使用 insertObjects:atIndexes: 来执行描述的第一步(因此元素从索引 5 开始)。您不能使用 NSMutableArray 执行此操作,因为它不支持空元素。以下是 Apple 文档中的一些相关讨论(参见 https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/index.html#//apple_ref/occ/cl/NSMutableArray ):

Note that NSArray objects are not like C arrays. That is, even though you specify a size when you create an array, the specified size is regarded as a “hint”; the actual size of the array is still 0. This means that you cannot insert an object at an index greater than the current count of an array. For example, if an array contains two objects, its size is 2, so you can add objects at indices 0, 1, or 2. Index 3 is illegal and out of bounds; if you try to add an object at index 3 (when the size of the array is 2), NSMutableArray raises an exception.

如果你想实现你所描述的,你需要先用 NSNull 对象填充空间:

for (NSUInteger i = 0; i < tempArray.count; i++) {
[actualArray addObject:[NSNull null]];
}

然后您可以添加您的 tempArray 内容:

[actualArray addObjectsFromArray:tempArray];

最后,您可以用内容替换空值:

[actualArray replaceObjectsInRange:NSMakeRange(0, tempArray.count) withObjectsFromArray:tempArray.count];

关于ios - 将对象添加到未知大小的数组,不有序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com