appdelegate - español - core data tutorial swift 4
Swift 4, debe ser usado desde el hilo principal solo de advertencia (1)
Estás haciendo esta llamada en una cola de fondo. Para arreglarlo, intente algo como ...
public var context: NSManagedObjectContext
DispatchQueue.main.async {
var appDelegate = UIApplication.shared.delegate as! AppDelegate
context = appDelegate.persistentContainer.viewContext
}
Aunque esta es una forma bastante mala de hacer esto ... está utilizando su Delegado de aplicaciones como una variable global (¡lo que todos sabemos es malo!)
Debería mirar pasar el contexto del objeto administrado desde el controlador de vista al controlador de vista ...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions:
(window?.rootViewController as? MyViewController)?.moc = persistentContainer.viewContext
}
y así
Cuando uso Swift4
en Xcode 9
me da
UIApplication.delegate debe usarse solo desde el hilo principal
.... debe ser usado desde el hilo principal solamente
API de interfaz de usuario llamada desde subproceso de fondo Grupo
Advertencia de color púrpura
Mis codigos
var appDelegate = UIApplication.shared.delegate as! AppDelegate
public var context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let prefs:UserDefaults = UserDefaults.standard
var deviceUUID = UIDevice.current.identifierForVendor!.uuidString
La línea de advertencia es;
public var context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
Otra advertencia como esta;
let parameters = [
"tel": "/(self.phone.text!)"
] as [String : String]
Da
Se debe usar UITextField.text solo desde el hilo principal
El mismo error otra vez ..
Cómo puedo arreglarlo ? Alguna idea ?