gpt4 book ai didi

objective-c - 如何恢复 NSMutableArray 的原始排序顺序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:50:14 25 4
gpt4 key购买 nike

我已经将一个 NSString 标记化为一个 NSMutable 数组。然后我可以使用 NSSortDescriptor 按字符串的长度对该数组进行排序。然后我可以从最长的开始对某些单词执行方法。

这就是我的问题所在。我现在需要恢复数组的原始排序顺序,以便我可以将数组运行回已编辑的字符串。

最佳答案

我的回答基本上和 Steve 的一样,只是我会以相反的方式来做 — 保留原始数组,创建它的排序副本,逐步执行处理的排序副本,然后将其丢弃。所以,例如

NSArray *yourOriginalArray = ...whatever...;

// do processing
for(id object in [yourOriginalArray sortedArrayUsing<whatever means>])
{
// if you're doing processing that doesn't change the identity of
// the object then there's no need to worry about this, but supposing
// you want to adjust the identity (eg, the source array is full of
// immutable objects and you want to replace them) then...

NSUInteger originalIndex = [yourOriginalArray indexOfObject:object];

id replacementObject = [self mutatedFormOf:object];
[yourOriginalArray replaceObjectAtIndex:originalIndex
withObject:replacementObject];
// of course, this is only if yourOriginalArray is mutable
}

关于objective-c - 如何恢复 NSMutableArray 的原始排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10255285/

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