如何使用姓氏对核心数据进行排序,只有全名可用



我在我的核心数据实体Friends中有一个fullName属性,其值如下:

  • John Doe
  • 简史密斯
  • 老百姓

我希望能够提取姓氏,并使用这些字母排序,在Swift。

我目前只知道如何使用全名排序,像这样:

let sortDescriptor = NSSortDescriptor(key: "fullName", ascending: true)
request.sortDescriptors = [sortDescriptor]

谢谢。

您可以按以下方式操作。

1)从核心数据中获取所有记录。(假设你得到了aryFullname)

2)使用for循环,你可以只得到数组的姓氏,如下。

//Define new mutable array aryfinalData
         for i in 0..<aryFullname.count
                {
                  var fullName = aryFullname.ObjectAtindex(i)
                  var fullNameArr = split(fullName) {$0 == " "}
                  var lastName: String? = fullNameArr.count > 1 ? fullNameArr[1] : nil
                  aryfinalData.addObject(lastName)
                 }

3)排序数组如下。

 //  convert NSMutableArray to the Array by using below line of code. 
    let arySort = aryfinalData as AnyObject as! [String]
    var sortedArray = arySort.sort { $0.name < $1.name }
 //  sortedArray is your Final array

注意:这不是一个有效的解决方案,但你没有任何解决方案,我不确定上面的语法,所以注意相同的,并做更改,如果有任何需要。

最新更新