排序 – 使用sortedArrayUsingComparator对NSArray进行排序
发布时间:2020-12-14 05:53:24 所属栏目:百科 来源:网络整理
导读:在Objective-C中,我可以使用以下语句对NSArray进行排序: NSArray *sortedArray = [persons sortedArrayUsingComparator:^NSComparisonResult(Person *p1,Person *p2) { return [p1.name compare:p2.name];}]; 我无法用Swift再现同样的声明。我发现我使用的
在Objective-C中,我可以使用以下语句对NSArray进行排序:
NSArray *sortedArray = [persons sortedArrayUsingComparator:^NSComparisonResult(Person *p1,Person *p2) { return [p1.name compare:p2.name]; }]; 我无法用Swift再现同样的声明。我发现我使用的是Array。
您可以使用
Swift’s built in sort functions,或者由于将Swift阵列桥接到NSArray,您可以直接从swift调用sortedArrayUsingComparator。
使用Swift的排序功能: var sortedArray = sorted(persons) { (obj1,obj2) in // The downcast to Person is only needed if persons is an NSArray or a Swift Array of AnyObjects let p1 = obj1 as Person let p2 = obj2 as Person return p1.name < p2.name } 或者,使用NSArray的sortedArrayUsingComparator: var sortedArray = persons.sortedArrayUsingComparator { (obj1,obj2) -> NSComparisonResult in let p1 = obj1 as Person let p2 = obj2 as Person let result = p1.name.compare(p2.name) return result } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |