CoreData支持方法吗?



我有一个类的属性(var和let)和方法。对于存储数据,我使用UserDefaults,并尝试使用MVC。现在我想使用CoreData。我可以使用实体来存储var,但是我把方法放在哪里呢?方法可以放在CoreData吗?如果不是,那么将处理变量的方法和逻辑放在哪里更好呢?请帮帮我)

class Statistics {
var defaults = UserDefaults.standard
var completed = 0
var launched = 0
var minutes = 0
var today = 0
var dateNew = 0
let calendar = Calendar.current

static var passedSecondsBackground = 0
static var didBackground = false

enum Keys: String {
case day = "PMDR.Day"
case week = "PMDR.Week"
case month = "PMDR.Month"
case year = "PMDR.Year"
case completed = "Completed"
case launched = "Launched"
case minutes = "Minutes"
}

var keyCompleted = Keys.completed.rawValue
var keyLaunched = Keys.launched.rawValue
var keyMinutes = Keys.minutes.rawValue

func checkDate(array: Array<Statistics>) {
for date in array {
date.dateNew = date.defaults.integer(forKey: "(date)")
if date.today != date.dateNew {
date.deleteScore(when: date)
date.defaults.set(date.today, forKey: "(date)")
date.dateNew = date.defaults.integer(forKey: "(date)")
}
}
}

func updateScore(array: Array<Statistics>) {
for date in array {
date.completed = date.defaults.integer(forKey: date.keyCompleted)
date.launched = date.defaults.integer(forKey: date.keyLaunched)
date.minutes = date.defaults.integer(forKey: date.keyMinutes)
}
}
/* etc... */
}

有两个选项

  • 如果类是由Xcode生成的,把你的自定义逻辑放到扩展
  • 自己创建类(通过将Codegen设置为Manual/None和菜单项Editor>创建NSManagedObject子类)。这种方式很难维护,但是您可以通过将可选类型替换为非可选类型和将关系类型NSSet替换为本机Set来定制NSManagedObject子类

相关内容

最新更新