将获取的 XMPPframeWork vCards 保存到 Swift4 中的 CoreData
saving fetched XMPPframeWork vCards into CoreData in Swift4
我能够使用此代码创建和更新 vCard
let xmppvCardStorage = XMPPvCardCoreDataStorage.sharedInstance()
let xmppvCardTempModule = XMPPvCardTempModule.init(vCardStorage:xmppvCardStorage!)
xmppvCardTempModule.activate(self.stream)
xmppvCardTempModule.addDelegate(self, delegateQueue: DispatchQueue.main)
let vCard = DDXMLElement(name: "vCard", xmlns: "vcard-temp")
let vCardTemp = XMPPvCardTemp.vCardTemp(from: vCard)
vCardTemp.nickname = "john"
vCardTemp.jid = XMPPJID(string: "john123@www.example.com")
我还可以使用以下代码获取该 vCard:
let xmppvCardStorage = XMPPvCardCoreDataStorage.sharedInstance()
let xmppvCardTempModule = XMPPvCardTempModule.init(vCardStorage: xmppvCardStorage!)
xmppvCardTempModule.activate(self.stream)
let jID = XMPPJID(string: "john@www.example.com")
xmppvCardTempModule.addDelegate(self,delegateQueue:DispatchQueue.main)
xmppvCardTempModule.fetchvCardTemp(for: jID!, ignoreStorage:false)
如您所见,我正在从我的服务器中获取 vCard。这是通过将 ignoreStorage
设置为 false
来完成的
我的问题是 XMPPFrameWork 是否支持将检索到的 vCard 存储在 CoreData 中的方法,这样我就不必每次都检索它
fetchvCardTemp
如果给定的 JID 不在 storage.when 中,则简单地获取 vCardTemp 你将 ignoreStorage
设置为 false 你是说我不想使用存储我想通过 XMPPStream 获取它。
你应该只使用 xmppvCardStorage 和它的一个函数 vCardTempForJID
并简单地传递你最喜欢的 jID 它会 return 它给你
我能够使用此代码创建和更新 vCard
let xmppvCardStorage = XMPPvCardCoreDataStorage.sharedInstance()
let xmppvCardTempModule = XMPPvCardTempModule.init(vCardStorage:xmppvCardStorage!)
xmppvCardTempModule.activate(self.stream)
xmppvCardTempModule.addDelegate(self, delegateQueue: DispatchQueue.main)
let vCard = DDXMLElement(name: "vCard", xmlns: "vcard-temp")
let vCardTemp = XMPPvCardTemp.vCardTemp(from: vCard)
vCardTemp.nickname = "john"
vCardTemp.jid = XMPPJID(string: "john123@www.example.com")
我还可以使用以下代码获取该 vCard:
let xmppvCardStorage = XMPPvCardCoreDataStorage.sharedInstance()
let xmppvCardTempModule = XMPPvCardTempModule.init(vCardStorage: xmppvCardStorage!)
xmppvCardTempModule.activate(self.stream)
let jID = XMPPJID(string: "john@www.example.com")
xmppvCardTempModule.addDelegate(self,delegateQueue:DispatchQueue.main)
xmppvCardTempModule.fetchvCardTemp(for: jID!, ignoreStorage:false)
如您所见,我正在从我的服务器中获取 vCard。这是通过将 ignoreStorage
设置为 false
我的问题是 XMPPFrameWork 是否支持将检索到的 vCard 存储在 CoreData 中的方法,这样我就不必每次都检索它
fetchvCardTemp
如果给定的 JID 不在 storage.when 中,则简单地获取 vCardTemp 你将 ignoreStorage
设置为 false 你是说我不想使用存储我想通过 XMPPStream 获取它。
你应该只使用 xmppvCardStorage 和它的一个函数 vCardTempForJID
并简单地传递你最喜欢的 jID 它会 return 它给你