Ios 如何在swift 2中从核心数据中删除值
例如,下面是我的代码中添加值的部分Ios 如何在swift 2中从核心数据中删除值,ios,swift,core-data,Ios,Swift,Core Data,例如,下面是我的代码中添加值的部分 do { let request = NSFetchRequest<NSFetchRequestResult>(entityName: "users") let results = try context.executeFetchRequest(request) if results.count > 0 { for item in results as! [NSMana
do {
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "users")
let results = try context.executeFetchRequest(request)
if results.count > 0 {
for item in results as! [NSManagedObject] {
let fName = item.valueForKey("firstName")
let lName = item.valueForKey("lastName")
print(lName!, lName!)
}
}
} catch {
print("There was error getting data")
}
do{
let request=NSFetchRequest(entityName:“用户”)
let results=try context.executeFetchRequest(请求)
如果results.count>0{
结果中的项目为![NSManagedObject]{
设fName=item.valueForKey(“firstName”)
设lName=item.valueForKey(“姓氏”)
打印(lName!,lName!)
}
}
}抓住{
打印(“获取数据时出错”)
}
假设我有10个用户,现在我想
1.删除姓氏为“DOW”的用户
2.前两个用户和后两个用户?
3.此外,所有具有lastName
的用户都以“D”开头
谢谢
Borna您可以编写以下代码:
if results.count > 0 {
for item in results as! [NSManagedObject] {
let fName = item.valueForKey("firstName") as! String
let lName = item.valueForKey("lastName")
print(lName!, lName!)
if fName.contains("DOW"){
appDelegate.managedObjectContext.deleteObject(item)
}
}
}
或者只需获取您想要的对象,然后重新预测并删除它
代码:
这个问题听起来像家庭作业。删除前2项和后2项的问题是数据存储无序。除非提供排序顺序,否则您可能会从fetch请求中获得不同的数据集 谢谢你的信息。我被appDelegate.managedObjectContext.deleteObject(数据)代码的这一部分弄糊涂了(数据)和appDelegate是什么?对不起,我的错误。数据是item和appDelegate:S,如果您不知道就不好了()非常感谢。让appDelegate:appDelegate=(UIApplication.sharedApplication().delegate为!appDelegate)使其正常工作
let fetchRequest = NSFetchRequest(entityName: "users")
fetchRequest.predicate = NSPredicate(format: "firstName beginswith[c] %@", "D")
fetchRequest.returnsObjectsAsFaults = false
do{
let fetchResults = try appDelegate.managedObjectContext..executeFetchRequest(fetchRequest)
if fetchResults.count>0 {
appDelegate.managedObjectContext.deleteObject(fetchResults[0])
} else {
// no data
}
}catch{
//error
}