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
}
}
网友评论