Я хочу обновить несколько атрибутов сущности с помощью Swift, но не смог найти учебник для управления этим. Я сумел обновить одного атрибута объекта с кодом ниже:Как обновить атрибут нескольких основных данных в swift 2
//Insert Function
func Insert(dbname : String , attributeName : String , value : String) {
let check_empty = entityIsEmpty(dbname)
if(check_empty != true){
let saveData = NSEntityDescription.insertNewObjectForEntityForName(dbname, inManagedObjectContext: managedContext)
// add our data
saveData.setValue(value, forKey: attributeName)
//2
do {
try managedContext.save()
//3
check_DB.append(saveData)
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
//check_empty
}else{
//Update procedure
let fetchRequest = NSFetchRequest(entityName: dbname)
do {
let fetchedEntities = try self.managedContext.executeFetchRequest(fetchRequest) as! [SettingInfo]
fetchedEntities.first?.attributeName = value
// ... Update additional properties with new values
} catch {
// Do something in response to error condition
}
do {
try self.managedContext.save()
} catch {
// Do something in response to error condition
}
}
}
, но как я могу обновить несколько атрибутов объекта? , например: Название объекта является: dbname
имя Атрибут является: attribute
_name и значение атрибута, которое я хочу обновить это: value
Просто обновите другие атрибуты точно так же, как вы сделали первым. В чем проблема? Вместо того, чтобы извлекать объект, обновлять и сохранять в одной функции, есть функция, которая возвращает объект, обновляет все атрибуты, а затем сохраняет его в другой функции. – Paulw11
моя проблема заключается в том, что эта функция не распознает имя dbname и его атрибуты, так как вы могут видеть, что они являются аргументами функции, если я ставлю их постоянными, это работает. прямо сейчас с приведенным выше кодом i get error of dbname не является типом и не распознает имя атрибута – anonymox
@ Paulw11 вы предлагаете иметь 3 функции для выполнения этой работы? каждый делает одну операцию? – anonymox