【发布时间】:2016-11-07 03:44:23
【问题描述】:
我有一个名为 globals.swift 的文件
代码很简单,看起来像这样。
import Foundation
import CoreData
import UIKit
var g_workOrders = [Workorders]()
var g_services = [Service]()
//Shortcut method to get the viewcontext easily from anywhere.
func gm_getContext () -> NSManagedObjectContext {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
//For unique constraints it will overwrite the data.
context.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
return context
}
我的数据模型非常简单,它是一个工作订单,它指的是一个“服务”,在我的上下文中可以被认为是对工作订单的描述。工单只能有一项“服务”。一个“服务”可以属于许多工单,但与其中的许多工单没有关系。所以我仍然相信它是一对一的。
g_workOrders[] 和 g_services[] 是我从编辑器菜单 -> createNSManagedSubClasses 创建的 NSManagedSubclasses。
我计划在整个程序中使用这些数组来跟踪工作订单的当前状态并随时获取有关服务的信息。此外,如果我更新全局变量并在上下文中调用 save 它应该保存数据库。 目前确实有效,但我的问题是……这是一种好的做法吗? 这样做会导致任何意外行为吗?
【问题讨论】:
标签: ios swift core-data global-variables swift3