我正在尝试将API中的数据存储在我的NSObject类中,然后将其保存到核心数据中。响应具有一个数据类型为TCHMembers的变量,该变量为twilio类,此TCHMembers是一个NSObject类,它具有一些必须在进一步的代码中调用的方法。现在,当我尝试通过NSKeyedArchive将其存储在核心数据实体中时,该应用程序将捕获bllock并通过错误NSDebugDescription=Caught exception during archival: -[TCHMembers encodeWithCoder:]: unrecognized selector sent to instance
。我如何将其存储在核心数据中,我认为数据类型给出此错误,如何存储该错误?
let createdBy = items.twChannelObj?.createdBy
let dateCreated = items.twChannelObj?.dateCreated
let dateCreatedAsDate = items.twChannelObj?.dateCreatedAsDate
let dateUpdatedAsDate = items.twChannelObj?.dateUpdatedAsDate
let dateUpdated = items.twChannelObj?.dateUpdated
let friendlyName = items.twChannelObj?.friendlyName
let lastMessageDate = items.twChannelObj?.lastMessageDate
let lastMessageIndex = items.twChannelObj?.lastMessageIndex
let members = items.twChannelObj?.members
let messages = items.twChannelObj?.messages
let sid = items.twChannelObj?.sid
let status = items.twChannelObj?.status
let synchronizationStatus = items.twChannelObj?.synchronizationStatus
let type = items.twChannelObj?.type
var uniqueName = items.twChannelObj?.uniqueName
if uniqueName == nil
{
uniqueName = ""
}
let channelObject : ChannelObject = ChannelObject.init(createdBy: createdBy!, dateCreated: dateCreated!, dateCreatedAsDate: dateCreatedAsDate!, dateUpdatedAsDate: dateUpdatedAsDate!, dateUpdated: dateUpdated!, friendlyName: friendlyName!, lastMessageDate: lastMessageDate!, lastMessageIndex: lastMessageIndex!, members: members!, messages: messages!, sid: sid!, synchronizationStatus: synchronizationStatus!.rawValue, type: type!.rawValue, uniqueName: uniqueName!,status:status!.rawValue)
do
{
if #available(iOS 11.0, *) {
let dataMember = try NSKeyedArchiver.archivedData(withRootObject: channelObject, requiringSecureCoding: false)
user.setValue(dataMember, forKey: "twChannelObj")
} else {
// Fallback on earlier versions
}
}
catch
{
print("Error \(error)")
}