【问题标题】:Looking for sort drop down list in swift快速查找排序下拉列表
【发布时间】:2019-04-24 14:06:40
【问题描述】:

我正在寻找按升序排列我的下拉列表。

let set = NSSet(array: arrTemp as! [Any])
let arrNewPredicated = set.allObjects as NSArray
arrAllArrayCode = NSMutableArray (array: arrNewPredicated)

我有 17 个像这样的元素

[0]=(NSTaggedPointerString*)"AAA"
[1]=(NSTaggedPointerString*)"CCC"
[2]=(NSTaggedPointerString*)"BBB"

我想按升序排列。

【问题讨论】:

  • 在 Swift 中编码时应该去掉 NS 前缀。使用 Set 代替 NSSet,Array 代替 NSArray/NSMutableArray 和 String 代替 NSString/NSTaggedPointerString

标签: arrays swift sorting nstaggedpointerstring


【解决方案1】:

我认为arrTemp 是一个字符串数组,所以:

首先你使用的是 Swift,所以 LeoDabus 建议去掉 NS 前缀。比建立你的集合:

let arrayOfStrings = ["beta", "omega", "alpha", "teta"]
let set = Set<String>(arrayOfStrings)

然后排序:

let sorted = set.sorted()

【讨论】:

    【解决方案2】:

    如果你使用sortable elements的数组:

    let arrTemp = ["AAA", "CCC", "BBB"]
    let set = Set(arrTemp)
    let arrNewPredicated = set.sorted { (str1, str2) -> Bool in
        return str1 < str2
        // or use
        // return str2 < str1
    }
    

    【讨论】:

    • 我收到错误消息:二元运算符“
    【解决方案3】:

    我为我的问题找到了正确的代码行。 如果这可以帮助某人..

    let set = NSSet(array: arrTemp as! [Any])
    let arrNewPredicated = set.allObjects as NSArray
    let sortarray = arrNewPredicated.sortedArray(using: [NSSortDescriptor(key: "", ascending: true)])  as NSArray
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多