objective-c - 如何像 iTunes 排序一样对 NSString 进行排序?

标签 objective-c ios nsstring

我想使用 iTunes 排序规则对 NSString 数组进行排序。此规则忽略前导冠词,例如“a, an, The”。还有一些其他规则。苹果已经发布了一篇关于它的文章。 iTunes 7.3: Changes in music sort order

有人知道 iOS 5.0 或更高版本中可以解决此问题的 API 吗?

干杯, 费德里

最佳答案

首先,遍历 NSString 并使用 hasPrefix: 检查第一个单词是否是您不想要的单词,然后您可以将它们替换为 stringByReplacingOccurrencesOfString:withString:

然后你可以像这样对字符串进行排序:

sortedArray = [stringArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

或者您可以创建自己的方法来比较 2 个字符串,而不是使用 localizedCaseInsensitiveCompare:

关于objective-c - 如何像 iTunes 排序一样对 NSString 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12510116/

相关文章:

iphone - 键值观察对 UITextView 的 Text 属性有效吗?

ios - 在 View Controller 之间传递图像在呈现模态视图时不起作用

ios - Objc EXC_BAD_ACCESS 将 NSString 设置为等于另一个时

ios - 如何将效果应用到麦克风输入?(iOS Core Audio & Audio Graph)

iphone - 只有一位开发人员收到推送通知

iphone - NSString boundingRectWithSize 使用 CoreText Framesetter 切割高度短? iOS

objective-c - 将属性添加到代表 "to the power of.."的 nsstring

iphone - 移动 tableview 时裁剪 UITableviewcell

ios - reactcocoa是true应该ChangeCharactersInRange文本字段等效

objective-c - 仅获取 NSString 第一个单词