我正在研究一个钱跟踪器应用程序,我有两个不同的对象。一个是“交易”,其中包含发生的所有交易,第二个是包含所有重复交易的“重复交易”。这是处理领域中两个相似对象的正确方法吗?
我使用循环事务,如模板,其中包含创建事务所需的所有信息。我正在给出一个选项来清除交易,所以一旦用户清除了重复交易,那么只有我创建了一个交易。我在我的应用程序中使用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