MultipleSelectorRow の表示値を設定しようとしています。ただし、以下でコンパイルしようとすると、return t.name
どこにあるのかというエラーが発生し続けますValue of type Set<Ladder> has no member name
。はlet ranks = Array(game.ranks)
タイプArray<Ladder>
です。ラダーオブジェクトから名前を表示するために何が間違っていますか?
<<< MultipleSelectorRow<Ladder>("Rank") {
$0.hidden = Condition.predicate(NSPredicate(format: "$Game == nil"))
$0.title = $0.tag
}.cellUpdate { cell, row in
let formvalues = self.form.values()
let game = formvalues["Game"] as! Game
let ranks = Array(game.ranks)
row.options = ranks
row.displayValueFor = {
if let t = $0 {
return t.name
}
return nil
}
cell.textLabel?.font = UIFont(name: "Avenir-Book", size: 16)
cell.preservesSuperviewLayoutMargins = false
cell.separatorInset = UIEdgeInsets.zero
cell.layoutMargins = UIEdgeInsets.zero
}
はしごクラス
class Ladder: Object, Mappable{
dynamic var id = ""
dynamic var name = ""
override static func primaryKey() -> String? {
return "id"
}
required convenience init?(map: Map) {
self.init()
}
func mapping(map: Map) {
id <- map["_id"]
name <- map["name"]
}
override var description: String {
return "\(self.name)"
}
}