斯威夫特:对象的排序按字母顺序排列 [英] Swift: Sort array of objects alphabetically

查看:193
本文介绍了斯威夫特:对象的排序按字母顺序排列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的:

class Movies {
  Name:String
  Date:Int
}

和[电影]数组。我如何数组名称的字母顺序进行排序?我试过:

and an array of [Movies]. How do I sort the array alphabetically by name? I've tried:

movieArr = movieArr.sorted {$ 0℃; $ 1}

movieArr =排序(movieArr)

但是,这并不工作,因为我没有访问电影的name属性。

but that doesn't work because I'm not accessing the name attribute of Movies.

推荐答案

在你传递给排序,比较要排序的属性关闭。像这样的:

In the closure you pass to sort, compare the properties you want to sort by. Like this:

movieArr.sort { $0.Name < $1.Name }

旁注:通常只有类型以大写字母;我推荐使用名称日期,而不是名称日期

Sidenote: Typically only types start with an uppercase letter; I'd recommend using name and date, not Name and 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.sort { $0.name < $1.name }
sortedMovies

sortedMovies 将在订单 [影片A,所以MovieB,movieC]

这篇关于斯威夫特:对象的排序按字母顺序排列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆