0
私は、ユーザーが私のアプリからログアウトすると、CoreDataが以下の関数で消去されるようにしようとしています。CoreDataが行を返さない
func wipeMessagesFromDB(){
let moc = managedObjectContext
var array = [cdMessageMO]()
let messageFetch: NSFetchRequest<cdMessageMO> = NSFetchRequest(entityName: "Message")
do {
array = try moc.fetch(messageFetch as! NSFetchRequest<NSFetchRequestResult>) as! [cdMessageMO]//this isnt fucking working!
for managedObject in array
{
let managedObjectData:NSManagedObject = managedObject as NSManagedObject
managedObjectContext.delete(managedObjectData)
}
} catch {
fatalError("Failed to fetch attractions: \(error)")
}
}
問題は、ユーザーがログアウトしたときに関数を呼び出すと配列の長さが0になるため、何も消去されないということです。長さが0であってはならないため、これは悪いです。私は起動時に同じ関数を呼び出すと、配列が移入されるため、返されるはずのエントリが100%あります。
これを引き起こす原因に関するアイデアはありますか?