领域 - 更新对象数组中的所有项目,而不是仅添加新的项目

时间:2016-08-01 03:03:34

标签: ios arrays swift persistence realm

我试图在JournalEntryVC.swift中添加与患者相关的不同日记条目。

我的Patient类有一系列日记条目,即let journalEntries = List<Journal>()我的日记帐类具有表示日记帐分录属性的属性,即entryTypeentryDateentryCaption

但是,在循环遍历JournalEntryVC.swift中的json时,不是仅将新的日记帐分录对象附加到日记帐分录newPatient.journalEntries.append(myJournal)数组,而是先前添加的日记帐分录&#39;属性也会被最新的日记帐分录属性所取代。

例如,newPatient.journalEntries[0]entryCaption具有相同的字符串值,entryType具有相同的字符串值,依此类推。

主要问题:关于如何添加具有其属性的新日记帐分录但不更改以前附加日记帐分录的日记帐分录属性的任何想法?

谢谢!

&#13;
&#13;
newPatient.journalEntries[1]
&#13;
&#13;
&#13;

&#13;
&#13;
//  Patient.swift

import Foundation
import RealmSwift


class Patient: Object {
    
    dynamic var patientName = ""
    dynamic var patientAvatar = ""
    dynamic var patientId = 0
    dynamic var isDietitian = false 

//array of journal entries for each patient
    let journalEntries = List<Journal>() 

    
    override class func primaryKey() -> String {
        return "patientId"
    }
}
&#13;
&#13;
&#13;

&#13;
&#13;
//  Journal.swift

import Foundation
import RealmSwift


class Journal: Object {

    dynamic var entryId = ""
    dynamic var entryType = ""
    dynamic var entryImg = ""
    dynamic var entryCaption = ""
    dynamic var entryComment = ""
    dynamic var entryCategory = ""
    dynamic var entryDate = ""
   
     
    override class func primaryKey() -> String {
        return "entryId"
    }
  
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您在for循环之外实例化单个Journal实例,更改该Journal的值,然后将其附加到患者的journalEntries。尝试在for循环中移动let myJournal = Journal()