我正在研究一個錢跟蹤器應用程序,我有兩個不同的對象。一個是「交易」,其中包含發生的所有交易,第二個是包含所有重複交易的「重複交易」。這是處理領域中兩個相似對象的正確方法嗎?
我使用循環事務,如模板,其中包含創建事務所需的所有信息。我正在給出一個選項來清除交易,所以一旦用戶清除了重複交易,那麼只有我創建了一個交易。我在我的應用程序中使用Realm。
這些都是對象:
class Transaction: Object {
dynamic var id: String = UUID().uuidString
dynamic var title: String = ""
dynamic var amount: Double = 0
dynamic var createdAt: Date = Date()
dynamic var category: Category?
dynamic var recurringTransaction: RecurringTransaction?
dynamic var type: TransactionType = .Income
}
class RecurringTransaction: Object {
dynamic var id: String = UUID().uuidString
dynamic var title: String = ""
dynamic var amount: Double = 0
dynamic var createdAt: Date = Date()
dynamic var category: Category?
dynamic var type: TransactionType = .Income
dynamic var frequency: TransactionFrequency = .Monthly
}
這是做了正確的方法是什麼?正如你所看到的,兩者都包含相似的屬性,但同時兩者都不同:一個是實際的事務,另一個是模板。
還有一個問題,如果我使用coredata會有什麼不同?因爲我對coredata沒有太多的經驗
謝謝。我有點困惑。還有一個問題,如果我想要一個不同的主鍵?現在我對這兩個模型都有相同的主鍵,但是如果我想改變的話。通過繼承我會受到什麼限制? – jack
沒問題!如果回答了您的問題,請隨時將答案標記爲正確。 :D是的,所以'Transaction'和'RecurringTransaction'仍然是完全獨立的實體。他們的主鍵不會重疊。除了我所說的之外沒有其他限制:它們被視爲兩個離散的實體。 – TiM
非常感謝您的幫助。 :) – jack