美文网首页
Swift对数组优先级排序的陷阱

Swift对数组优先级排序的陷阱

作者: 南国青天 | 来源:发表于2016-03-21 21:53 被阅读110次

    startPostion是数组对象的一个属性, 是一个结构体. 如果直接使用会报错.

    意思大概是说明, 你自定义的类, 找不到这个属性的KVC. 然后我想去实现KVC. 最后还是放弃.
    用了一个折中的办法, 就是KVC这个属性的自身, 然后在进行比较.

    参考文献: Sorting without NSArray controller, Max的iOS心得筆記

     this class is not key value coding-compliant for the key startPostion.
    
     var sort1 = NSSortDescriptor(key: "startPostion", ascending: YES) { (a, b) -> NSComparisonResult in
                if a.x < b.x {
                    return .OrderedAscending
                }else {
                    return .OrderedDescending
                }
            }
    
    var sort1 = NSSortDescriptor(key: "self", ascending: YES) { (a, b) -> NSComparisonResult in
                let c = a as! customObject
                let e = b as! customObject
                if c.startPostion.x < e.startPostion.x {
                    return .OrderedAscending
                }else {
                    return .OrderedDescending
                }
            }
    

    相关文章

      网友评论

          本文标题:Swift对数组优先级排序的陷阱

          本文链接:https://www.haomeiwen.com/subject/ihnklttx.html