Храните данные области в массиве пользовательских типов данных в iOS - PullRequest
0 голосов
/ 07 марта 2019

Я храню свой ответ API в объектной модели области.Теперь, когда я получаю данные из модели, я хочу сохранить некоторые переменные в моем собственном массиве типов данных, а затем сохранить оставшиеся данные и массив в одном массиве.Как это можно сделать?Вот как я храню свои данные,

do {
        let realm = try! Realm()
        self.realm = realm
        try! realm.write {

            let newListing = SingleChatRealm()

            for items in dateWiseSortedSingleRooms
            {
                newListing.actualNameFor_1_2_1_chat = items.actualNameFor_1_2_1_chat
                newListing.isGroup = items.isGroup
                newListing.isNewGroup = items.isNewGroup
                newListing.lastMessage = items.lastMessage
                newListing.lastMsgRead = items.lastMsgRead
                newListing.lastMsgTime = items.lastMsgTime
                newListing.lastMsgTimeActual = items.lastMsgTimeActual
                for item in items.members
                {
                    newListing.sid = item.sid!
                    newListing.lastConsumedMessageIndex = item.lastConsumedMessageIndex as? Int ?? 0
                    newListing.lastConsumptionTimestamp = item.lastConsumptionTimestamp ?? ""
                    newListing.identity = item.identity!
                    if item.lastConsumptionTimestampAsDate == nil
                    {
                        let currentDate = Date()
                        newListing.lastConsumptionTimestampAsDate = currentDate
                    }
                    else
                    {
                        newListing.lastConsumptionTimestampAsDate = item.lastConsumptionTimestampAsDate!
                    }
                }
                for item in items.messages
                {
                    newListing.sid = item.sid!
                    newListing.author = item.author!
                    newListing.body = item.body ?? ""
                    newListing.dateUpdated = item.dateUpdated!
                    newListing.dateUpdatedAsDate = item.dateUpdatedAsDate!
                    newListing.index = Int(truncating: item.index!)
                    newListing.lastUpdatedBy = item.lastUpdatedBy ?? ""
                    newListing.mediaFilename = item.mediaFilename ?? ""
                    newListing.mediaSid = item.mediaSid ?? ""
                    newListing.mediaSize = Int(item.mediaSize)
                    newListing.mediaType = item.mediaType ?? ""
                    newListing.messageSid = item.sid!
                    newListing.timestamp = item.timestamp!
                    newListing.timestampAsDate = item.timestampAsDate!
                    newListing.group_info = items.group_info

                }
                newListing.name = items.name
                newListing.profilePic = items.profilePic ?? ""
                newListing.roomSID = items.roomSID
                newListing.unReadMsgsCount = items.unReadMsgsCount
                print(newListing)
                self.realm.add(newListing)
            }
            }

        } catch let error as NSError {
                // handle error
            print(error)
        }

Вот как я получаю данные из модели,

 let realm = try! Realm()
    guard let info = realm.objects(SingleChatRealm.self).first else {return}

    for items in localSingleChatRealmArray
    {
        items.actualNameFor_1_2_1_chat = info.actualNameFor_1_2_1_chat
        items.isGroup = info.isGroup
        items.isNewGroup = info.isNewGroup
        items.lastMessage = info.lastMessage
        items.lastMsgRead = info.lastMsgRead
        items.lastMsgTime = info.lastMsgTime
        items.lastMsgTimeActual = info.lastMsgTimeActual
        items.sid = info.sid
        items.lastConsumedMessageIndex = info.lastConsumedMessageIndex
        items.lastConsumptionTimestamp = info.lastConsumptionTimestamp
        items.identity = info.identity
        items.lastConsumptionTimestampAsDate = info.lastConsumptionTimestampAsDate
        items.sid = info.sid
        items.author = info.author
        items.body = info.body
        items.dateUpdated = info.dateUpdated
        items.dateUpdatedAsDate = info.dateUpdatedAsDate
        items.index = info.index
        items.lastUpdatedBy = info.lastUpdatedBy
        items.mediaFilename = info.mediaFilename
        items.mediaSid = info.mediaSid
        items.mediaSize = Int(info.mediaSize)
        items.mediaType = info.mediaType
        items.messageSid = info.sid
        items.timestamp = info.timestamp
        items.timestampAsDate = info.timestampAsDate
        items.group_info = info.group_info
        items.name = info.name
        items.profilePic = info.profilePic
        items.roomSID = info.roomSID
        items.unReadMsgsCount = info.unReadMsgsCount
    }

Теперь я хочу сохранить эти значения,

items.sid = info.sid
        items.lastConsumedMessageIndex = info.lastConsumedMessageIndex
        items.lastConsumptionTimestamp = info.lastConsumptionTimestamp
        items.identity = info.identity
        items.lastConsumptionTimestampAsDate = info.lastConsumptionTimestampAsDate 

в массиве member = TCHMember, и после этого я хочу сохранить все эти данные и этот массив членов в одном общем массиве. Как это можно сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...