-1
我想從CoreData中的自定義單元中的UILabel中提供一個字符串。所以從tableview中刪除一行不起作用。從CoreData獲取比較和刪除字符串
此外,我想檢查一個特定的字符串是否在CoreData值。
例如:
我有一個實體名爲「收藏」與名爲「服務」與那我插入一個名爲「微」字符串的屬性。我想刪除「微」。另外,我想檢查「micro」(例如)是否來自屬性「services」和實體「Favorites」中的字符串。
我已經試過這樣:
1.
let serString = servico.text
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let contexto:NSManagedObjectContext = appDel.managedObjectContext
let entidade = NSEntityDescription.entityForName("Favorites", inManagedObjectContext: contexto)
let pedido = NSFetchRequest(entityName: "Favorites")
pedido.predicate = NSPredicate(format: "service = %@", serString!)
let p:Favorites? = Favorites(entity: entidade!, insertIntoManagedObjectContext: contexto)
contexto.deleteObject(p!)
...但它不會刪除字符串 「serString」
2. 嘗試這樣:
var request : NSFetchRequest = NSFetchRequest(entityName: "Favorites");
request.predicate = NSPredicate(format: "services = %s", "micro")
let results : [NSManagedObject] = context.executeFetchRequest(request, error: &error)
if (results.count > 0) {
print("exists") }
else {
//Doesn't exist
}
...但在「&錯誤」中給出錯誤,說「使用未解析標識符'錯誤'「
2(b)。
也這個嘗試,但崩潰輸出給出
「打印錯誤的描述: (NSError)錯誤= 」應用程序超出範圍「
(LLDB)」
let request : NSFetchRequest = NSFetchRequest(entityName: "Favorites");
request.predicate = NSPredicate(format: "services = %s", "micro")
do {
let results : [NSManagedObject] = try context.executeFetchRequest(request) as! [Favorites]
if (results.count > 0) {
print("exists") }
else {
//Doesn't exist
}
// success ...
} catch let error as NSError {
// failure
print("Fetch failed: \(error.localizedDescription)")
}
更新:
這個代碼終於摸索刪除字符串:
let favoriteFetchRequest = NSFetchRequest(entityName:"Favorites") let predicate = NSPredicate(format: "services = %@", serv) favoriteFetchRequest.predicate = predicate do { let fetchedEntities = try context.executeFetchRequest(favoriteFetchRequest) as! [NSManagedObject] for entity in fetchedEntities { context.deleteObject(entity) try context.save() } } catch let error as NSError { print("Fetch failed: \(error.localizedDescription)") }
。2.任何幫助嗎?
我有一個實體名爲「收藏夾」與名爲「服務」的屬性與我插入名爲「微」的字符串。我想刪除「微」。另外,我想檢查「micro」(例如)是否來自屬性「services」和實體「Favorites」中的字符串。 –