2017-10-06 65 views
1

我想從領域獲取對象,其中newDatefirstDate。因此,如果firstDate的日期爲05.10.2017,那麼在該日期之後將獲得對象,例如06.10.2017,但不是04.10.2017。領域過濾優先日期然後newDate

這是怎麼了存儲日期:

class User: Object { 
    @objc dynamic var firstDate = Date() 
    @objc dynamic var newDate = Date() 
} 

這就是我現在的儲蓄的對象:

let date = Date() 
let realm = try! Realm() 
let myUser = User() 

myUser.firstDate = self.date 

這是我正在試圖獲取對象:

var userData: Results<User>? 
if (homeIndexPathRow == 0) { 
    let getData = realm.objects(User.self).filter("firstDate > newDate") 
    userData = getData 
    print("userData", userData!) 
} 

當試圖檢索對象時,應用程序崩潰。是否有錯誤的過濾器格式?

+0

不要做力展開的,可以是'nil'的值。你確定數據實際上包含了一些過濾器應該返回的條目嗎? –

+0

@DávidPásztor它應該包含條目。我已經在Realm Browser中打開領域文件,並且得到了這個:https://image.ibb.co/fSoxdw/Screen_Shot_2017_10_06_at_03_02_58.png所以你可以看到,它應該很好(?)左邊是'firstDate',右邊是'newDate'。 –

+0

有沒有條目'firstDate> newDate',所以'getData'是'nil'不出所料...... –

回答

1

試試這個:

var yourNSDate = NSDate() 
let predicate = NSPredicate(format: "firstDate < %@", yourNSDate) 
let dataResults = realm.objects(User.self).filter(predicate) 
userData = dataResults 

替換用下面的代碼if (homeIndexPathRow == 0) { ...

+1

像一個魅力,謝謝你先生! –