我正在尝试创建一个排序函数,它将通过dateCreated属性通过与父对象的关系来访问对象。希望结果将为我提供一组对象,我可以加载到我的tableview中。
我知道不需要使用sort函数,并将其NSDate属性转换为时间戳,以便能够进行比较,因为它们不是简单的日期属性。
但是我不确定如何开始访问这些属性。我根据自己的阅读情况对代码进行了一次尝试,但它的抛出错误让我无法解决问题。
if let userExercise = selectedRoutine?.userexercises?.allObjects[indexPath.row] {
let dateSortedUserExercises = userExercise.sorted (by: { (left, right) -> Bool in
userExercise.dateCreated!.timeIntervalSince1970 > userExercise.dateCreated!.timeIntervalSince1970
})
print("SORTED EXERCISES \(dateSortedUserExercises)")
我得到了:
“任何”类型的值没有成员'已排序'
然后如果按照swift的建议我做(userExercise as AnyObject)
,我得
'AnyObject'类型的值没有成员'sorted'
我相信我要么在这里采取错误的路线,要么以错误的方式访问错误的东西?感谢您的帮助!
更新:添加了下面提到的截图
答案 0 :(得分:0)
排序时需要引用闭包中的两个对象。
$(this).css("transform")
或以更简洁的格式:
let dateSortedUserExercises = userExercise.sorted { left, right in
left.dateCreated!.timeIntervalSince1970 > right.dateCreated!.timeIntervalSince1970
}
其中$ 0.0是左侧,$ 0.1是右侧。