2016-11-09 58 views
1

迅速,xcode8領域查詢日期類型?

我做的境界文件,CSV進口商 (https://github.com/realm/realm-cocoa-converter/tree/master/RealmConverter

這是境界文件的模式:

birthday:string 
name : string 
age : int 

class people:object 
{ 
    dynamic var date = "" 
    dynamic var name = "" 
    dynamic var age = 0 
} 

let temp : people 

我要查詢日期字段:

realm.object(self.people).filter("birthday >= 2016-01-01") // error! 

如果領域文件模式的生日類型是字符串,我可以查詢> =或在兩者之間嗎? 我應該更改領域文件架構生日:字符串 - >生日:NSDate?

+0

我原以爲你會想把日期存儲爲日期,而不是字符串,但儘管如此.. 。您當前的過濾器不會將日期列爲字符串。它應該有單引號,像''birthday> ='2016-01-01'「'。但是,「> =」可能不適用於文檔中描述的字符串 - 比較運算符==,<=, <, > =,>,!=和BETWEEN受Int,Int8,Int16,Int32,Int64,Float,Double和NSDate屬性類型。如年齡== 45 – Michael

+0

謝謝。回覆所以..我應該改變realm文件架構?我應該改變可可轉換器來源嗎? – ttoggaiman

+0

一種方法是擁有兩個對象屬性,一個作爲日期存儲在域中,另一個是從CSV導入的計算字符串。計算的屬性會將導入的字符串轉換爲日期並將其存儲在Date屬性中。 – Michael

回答

1

對於字符串,您不能使用>=運算符,有關詳細信息,請參見Filtering section in docs

您需要使用NSDate作爲屬性類型才能在查詢中使用比較運算符,但不幸的是,RealmConverter目前不支持檢測日期。所以你可能需要手動導入你的數據或者在RealmConverter中實現這個功能併發送一個拉請求:)