Я пытаюсь сохранить три экземпляра объекта управления данными с базой данных "People"
, каждый из которых имеет несколько значений, таких как деньги, имя и прибыль.Изменения в объектах, управляемых данными ядра, не сохраняются
На данный момент это не работает, данных не сохранено.
Код:
//In view controller showing data
//Viewdidload
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let request = NSFetchRequest(entityName: "People")
request.returnsObjectsAsFaults = false
var results:NSArray = context.executeFetchRequest(request, error: nil)!
if results.count > 0{
var thisUser = results[0] as! People
labelMoney.text = "\(thisUser.money)"
labelName.text = "\(thisUser.name)"
labelProfit.text = "\(thisUser.profit)"
if results.count > 1{
var thisUser = results[1] as! People
}
if results.count > 2{
var thisUser = results[2] as! People
}
}
//In view controller creating name and money
//in button
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let request = NSFetchRequest(entityName: "People")
request.returnsObjectsAsFaults = false
//request.predicate = NSPredicate(format: "username = %@", txtUsername.text)
var results:NSArray = context.executeFetchRequest(request, error: nil)!
if results.count > 0{
var yes = results[0] as! NSManagedObject
yes.setValue(money, forKey: "money")
yes.setValue(name, forKey: "name")
}
// In game view controller saving data
//In button
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let ent = NSEntityDescription.entityForName("People", inManagedObjectContext: context)
let request = NSFetchRequest(entityName: "People")
request.returnsObjectsAsFaults = false
var results:NSArray = context.executeFetchRequest(request, error: nil)!
var newUser = results[thisPerson] as! People
newUser.setValue(profit, forKey: "profit")
newUser.setValue(money, forKey: "money")
context.save(nil)
«Что является лучшим способом» и «исправить мой код» являются довольно широкими для переполнения стека ... Попробуйте уточнить свой вопрос. – matt
Всегда избегайте запрашивать код. Более опытным пользователям SO это не нравится. Попробуйте перечислить решения, которые вы уже пробовали, и, возможно, ссылки на другие вопросы, такие как ваши, но где решение не работает. Если вы начали работать с учебником, никогда не бывает плохо, если вы также разместите ссылку на него. Также старайтесь быстро реагировать на комментарии и ответы на свой вопрос. –