开发者社区> 问答> 正文

Swift:按字母顺序对对象数组进行排序

我有这个:

class Movies { Name:String Date:Int } 和[电影]数组。如何按名称的字母顺序对数组进行排序?我试过了:

movieArr = movieArr.sorted{ $0 < $1 }

movieArr = sorted(movieArr)

但这不起作用,因为我没有访问电影的名称属性。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 22:44:29 763 0
1 条回答
写回答
取消 提交回答
  • 在传递给的闭包中sort,比较要排序的属性。像这样:

    movieArr.sorted { $0.name < $1.name } 或以下要绕过案例的案例:

    movieArr.sorted { $0.name.lowercased() < $1.name.lowercased() } 旁注:通常,只有类型以大写字母开头;我建议使用nameand date,而不是Nameand Date。

    例如,在操场上:

    class Movie { let name: String var date: Int?

    init(_ name: String) {
        self.name = name
    }
    

    }

    var movieA = Movie("A") var movieB = Movie("B") var movieC = Movie("C")

    let movies = [movieB, movieC, movieA] let sortedMovies = movies.sorted { $0.name < $1.name } sortedMovies sortedMovies 将按顺序 [movieA, movieB, movieC]

    2020-02-07 22:44:41
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OpenStack Swift 海量小文件优化之路 立即下载
From Java/Android to Swift iOS 立即下载
Swift在Airbnb的应用实践 立即下载