【发布时间】:2015-09-12 14:25:03
【问题描述】:
如标题所示,当用户从其帐户注销时,我想从 CoreData 中删除数据
我写的是这样的:
let moc = DataController().managedObjectContext
var context : NSManagedObjectContext?
var entityCurrentValue : NSEntityDescription?
var entityPreviousValue : NSEntityDescription?
var entityLastAccess : NSEntityDescription?
override func viewDidLoad() {
super.viewDidLoad()
loadCoreData()
}
}
func loadCoreData(){
context = moc
entityCurrentValue = NSEntityDescription.entityForName("CurrentValue", inManagedObjectContext: context!)
entityPreviousValue = NSEntityDescription.entityForName("PreviousValue", inManagedObjectContext: context!)
entityLastAccess = NSEntityDescription.entityForName("LastAccess", inManagedObjectContext: context!)
}
@IBAction func logoutButton_clicked(Sender: UIButton!) {
PFUser.logOut()
deleteElement(entityCurrentValue!)
deleteElement(entityPreviousValue!)
deleteElement(entityLastAccess!)
self.performSegueWithIdentifier("loginSegue", sender: Sender)
}
在这个函数中,我尝试从实体中删除元素
func deleteElement(entity : NSEntityDescription){
let fetchRequest = NSFetchRequest()
fetchRequest.entity = entity
fetchRequest.fetchBatchSize = 50
var fetchResult = Array<AnyObject>()
do{
try fetchResult = (context?.executeFetchRequest(fetchRequest))!
}catch{
fatalError()
}
for entity in fetchResult as! [NSManagedObject] {
self.context?.deleteObject(entity)
}
}
问题是,当我注销,然后使用另一个帐户登录时,应用程序会加载已经存储到内存中的数据。有人能帮我吗?谢谢
【问题讨论】: