2017-02-20 5 views
0

私は自分のプロジェクトにObjectmapperとRealmを使用しています。objectmapperにカスタム(計算)プロパティを持つ方法はありますか?

私はこれを達成するために計算されたプロパティを書き込むのではと思ったが、レルムが主キーとして計算されたプロパティをサポートしていません

class File 
{ 
    dynamic var name 
    dynamic var folder 
    dynamic var path // This is not coming from JSON // this should be combination of both name+folder 
} 

を、次のようなオブジェクトを持っています。

しかし、これを主キーとして使用する必要があります。サーバーの応答から来た後にその値を追加する方法はありますか?

注:私はAlamofireObjectMapperを使用しています。

私は、サーバーの応答を解析し、私にモデルオブジェクトを与える次の方法を使用しています。あなたが本当に彼らが空であるか、計算がうまくいかない場合はどうなるか(主キーとしてidのいくつかの種類を有し、かつ他のプロパティからそれを計算していない?あなたは有効なプライマリキーなしで残されると思い検討すべきである

Alamofire.request(router).responseObject{ (response: DataResponse<T>) in 
{ 
    let myModel = response.result.value // Parsed object 
===== What can i do here to achieve my requirement===== 
} 
+0

モデルクラスがどのように外見は? –

答えて

1

)。

しかし、あなたが本当にする必要がある場合、あなたは

let realm = try Realm() 
try realm.write { 
     items.forEach({ (item) in 
      item.path = item.name + item.folder 
     } 
     realm.add(items, update: true) 
} 

を試みることができるとFileクラスの主キーとしてpathを定義することを忘れないでください:

class File 
{ 
    dynamic var name 
    dynamic var folder 
    dynamic var path // This is not coming from JSON // this should be combination of both name+folder 

    override static func primaryKey() -> String? { 
     return "path" 
    } 
} 
関連する問題