У меня есть пользовательский объект, который содержит некоторые свойства, которые являются плавающими (а также другие, которые являются строками, датами и т. Д.).Отбрасывая ненулевые свойства, я хотел бы отфильтровать ненулевые свойства, отсортировать их по размеру и отобразить их.Однако, как быстрый новичок, у меня возникли проблемы.
Мой объект выглядит так:
@objc public class MyTone: NSObject {
var title: String = ""
var date: Date = Date()
var val1: Float = 0
var val2: Float = 0
var val3: Float = 0
//...
var val10: Float = 0;
}
Мой код, основанный на том, что я нашел в Google:
let propArray: [[String: AnyObject]] = [
["prop": "val1" as AnyObject,
"value": 0.3 as AnyObject],
["prop": "val2" as AnyObject,
"value": 0.2 as AnyObject],
["prop": "val3" as AnyObject,
"value": 0.4 as AnyObject]
]
let sortedArray = propArray.sort { (first, second,third) in
return first["value"]?.floatValue < second["value"]?.floatValue< third["value"]?.floatValue
}
Fixit попросил меня вставить код anyObject, но я получаю сообщение об ошибке «Любой объект не является подтипом NSNumber».Кроме того, я не совсем понимаю, что означают первое, второе и так далее ... Эти термины понимает компилятор?Кажется, есть лучший способ сделать это.
Заранее благодарен за любые предложения.