Reputation: 3196
Am trying to save some objects to NSSet but the last object only getting saved. My sample source code is
func saveData(){
let appDelegate =
UIApplication.shared.delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let personEentity = NSEntityDescription.entity(forEntityName: "PersionalDetails",
in:managedContext)
let person = PersionalDetails(entity: personEentity!,
insertInto: managedContext)
let favourateEentity = NSEntityDescription.entity(forEntityName: "Favourites",
in:managedContext)
let favourate = Favourites(entity: favourateEentity!,
insertInto: managedContext)
person.name = "Ragul"
person.age = 28
person.mobileNumber = "0000000000"
person.sex = "male"
for i in 0..<5{
favourate.movie = "Some movie" + "\(i)"
favourate.actor = "Some actor" + "\(i)"
favourate.song = "some song" + "\(i)"
favourate.person = person
}
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
}
Kindly guide me to get out from this error.
Upvotes: 1
Views: 68
Reputation: 72410
As of you are setting properties of same object in for loop so that you are getting only last object what you need to do is every time in iteration of for loop you need to create new instance of Favourites
then it will store all objects that you have created not the only last one.
for i in 0..<5{
let favourate = Favourites(entity: favourateEentity!, insertInto: managedContext)
favourate.movie = "Some movie" + "\(i)"
favourate.actor = "Some actor" + "\(i)"
favourate.song = "some song" + "\(i)"
favourate.person = person
}
Upvotes: 3