file1
file2
file3
… …
file10
file11
file12
我得到,正如你所期望的:
file1
file10
file11
file12
file2
file3
… …
有没有人知道如果有一种方法内置的NSArray排序功能,以获得这种自然排序而不是字母排序?我发现一些通用的算法,但我希望有一些内置的…
解决方法 Nsstrings可以是 compared使用 NSNumericSearch比较选项。一个版本:
NSInteger sort(Obj* a,Obj* b,voID*) { return [[a Title] compare:[b Title] options:NSNumericSearch];}result = [array sortedArrayUsingFunction:&sort context:nil];
或者更通用:
NSInteger sort(ID a,ID b,voID* p) { return [[a valueForKey:(Nsstring*)p] compare:[b valueForKey:(Nsstring*)p] options:NSNumericSearch];}result = [array sortedArrayUsingFunction:&sort context:@"Title"]
或使用块:
result = [array sortedArrayUsingComparator:^(Obj* a,Obj* b) { return [[a Title] compare:[b Title] options:NSNumericSearch]; }];总结
以上是内存溢出为你收集整理的iphone – 如何做一个自然排序在一个NSArray?全部内容,希望文章能够帮你解决iphone – 如何做一个自然排序在一个NSArray?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)