2014-12-22 46 views
0

我看了Realm.io文檔。我正在開發一個應用程序來跟蹤我的車輛費用。我已經將我認爲可能適用於Realm中的數據模型的東西放在一起,但我對它很陌生,不確定這是否可行,或者有更好的方法來實現。這是我所擁有的,我沒有把它放在一個項目中,並試圖編譯。 realm.io文檔對我來說有點含糊,所以也許有人可以告訴我你的想法。我已經包括在地方的一些意見,我只是不知道如何實現什麼我要爲...試圖創建一個Swift領域數據模型

// Vehicle model 
class Vehicle : RLMObject { 
    dynamic var name = 「」 
    dynamic var number = 「」 
    dynamic var currentMiles = 0 
    dynamic var entries = RLMArray(objectClassName: Entry.className()) 
} 

// Entry model 
class Entry: RLMObject { 
    dynamic var vehicle: Vehicle //?? 
    dynamic var date = NSDate() 
    dynamic var expense = 0.0 
    dynamic var mileage : Vehicle.currentMiles // want to update the Vehicle mileage with each entry 

} 

// Gas model 
class Gas: Entry { 
    dynamic var gallons = 0 
    dynamic var pricePerGallon = 0.0 
} 

// OilChange model 
class OilChange : Entry { 
    dynamic var milesBetweenChanges = 0 
} 

// Other Service model 
class OtherService: Entry { 
    dynamic var notes = 「」 
} 

回答

1

你在正確的軌道上!我想,唯一需要工作的模型是Entry。首先,這裏是我的註解模型:

// Entry model 
class Entry: RLMObject { 
    dynamic var vehicle: Vehicle // This is valid Swift, but you'll need to set the value in the designated initializer (`init()`). 
    dynamic var date = NSDate() 
    dynamic var expense = 0.0 
    dynamic var mileage : Vehicle.currentMiles // This isn't valid Swift, since `Vehicle` is a class, and doesn't have a `currentMiles` member 
} 

你需要的是這樣的:

// Entry model 
class Entry: RLMObject { 
    dynamic var vehicle = Vehicle() // Use a default value so that `init()` succeeds, but you can still use `init(vehicle: Vehicle)` in your code 
    dynamic var date = NSDate() 
    dynamic var expense = 0.0 
    dynamic var mileage = 0 

    init() { 
     // Must override init() when adding a convenience initializer 
     super.init() 
    } 

    convenience init(vehicle: Vehicle) { 
     super.init() 
     self.vehicle = vehicle 
     mileage = vehicle.currentMiles 
    } 
} 

它,你發現王國的文檔模糊是不幸的。請讓我們知道,如果有什麼特別的,你希望我們澄清。我們是一羣相當平易近人的人!

+0

我正在設計一個應用程序,並決定使用Realm。我很抱歉說你的文檔含糊不清。它只是沒有點擊我,或者實際上它是,我只是沒有意識到它。便利初始值設定項是我不認爲要做的事。 我覺得它應該更難使用。我看着它,對自己說,「不 - 你在某處留下了什麼東西,應該花更長的時間」。 您的文檔不是模糊的,它只是我不安全或什麼。這是提問的最佳地點嗎?我很感謝你的迴應和你的框架。真棒的東西。 – Darrell

+0

您可以繼續在此處提問(確保使用「realm」標籤)。祝你好運! – jpsim