2016-10-07 8 views
0

今日私はレルムを発見しましたが、私はそれに精通していません。助けてください。レルムを使用してインデックスのオブジェクトを更新/削除する方法はありますか?

私は2クラスあります

class EventDetail: Object { 
dynamic var start_time : Int = 0 
dynamic var end_time : Int = 0 
convenience init(start_time: Int, end_time: Int) { 
    self.init() 
    self.start_time = start_time 
    self.end_time = end_time 
} 
class Channel : Object { 
    dynamic var id : Int = 0 
    convenience init (id : Int) { 
     self.id = id 
    } 
    let details = List<EventDetail>() 
} 

を私はこのようなDBを移入:

let realm = try! Realm() 
var newChannel = Channel (id : id) 
let detailEvent1 = EventDetail(start_time:10, end_time: 20)        
let detailEvent2 = EventDetail(start_time:20,end_time: 30) 
newChannel.details.append(detailEvent1) 
newChannel.details.append(detailEvent2) 

try! realm.write { 
    realm.add(newChannel) 
} 

質問です:特定のインデックスで/アップデートの詳細を削除する方法は?

例:指数= 100

答えて

0

は、あなたが変更したり、削除するオブジェクトの種類にフェッチを実行する必要があるチャンネルからdetailEvent2を取得します。

基本的な操作は、あなたは、例えば、簡単な高次機能で結果をフィルタリングすることができ、

realm.objects(Channel.self) 

が変更または削除するオブジェクトを見つけることです述語:

let lateStarters = realm.objects(Channel.self).filter(NSPredicate(format: "start_time > 10", argumentArray nil)) 

結果アレイを介して列挙することによって、それらのプロパティを変更:

try? realm.write({ 
    for channel in lateStarters { 
     channel.start_time = 100 
    } 
}) 
関連する問題