首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NSMutableArray添加对象的顺序?

NSMutableArray添加对象的顺序?
EN

Stack Overflow用户
提问于 2018-04-23 04:51:39
回答 2查看 0关注 0票数 0

我有一个NSMUtableArray元素,例如:

A,B,C,E

我想在d后面c和之前添加一个对象e。换句话说,我想插入一个对象到一个已排序的数组中(该对象也可以是一个自定义对象)

我想知道:除了for用来找到位置,还有其他方法来实现它吗?最好使用iOS API。

EN

回答 2

Stack Overflow用户

发布于 2018-04-23 13:39:38

你可以用-[NSArray indexOfObject:inSortedRange:options:usingComparator:]一个NSArray索引一个对象应该被插入的索引,给定一个当前排序的数组范围。

例如,假设整个数组被排序:

NSMutableArray *array = …;
id newObject = …;
NSComparator comparator = …;

NSUInteger newIndex = [array indexOfObject:newObject
                             inSortedRange:(NSRange){0, [array count]}
                                   options:NSBinarySearchingInsertionIndex
                           usingComparator:comparator];

[array insertObject:newObject atIndex:newIndex];

由于此方法使用二进制搜索,因此比迭代数组中的所有元素更有效。

比较器是一个块对象,它接收两个类型的对象id并返回一个NSComparisonResult值。

票数 0
EN

Stack Overflow用户

发布于 2018-04-23 14:07:39

将元素注入已知的索引(位置)使用

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index

并找到以前放置到NSMutableArray使用的对象的位置

- (int)indexOfObject:(id)anObject
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档