簡體   English   中英

在Swift4中將獲取的XMPPframeWork vCard保存到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簡單地獲取了vCardTemp對於給定的JID如果它不是在你設定的storage.when ignoreStorage假你說的,我不希望使用存儲,我想通過XMPPStream去取。 您應該只使用xmppvCardStorage及其功能之一,即vCardTempForJID然后簡單地傳遞您喜歡的jID,它將其返回給您

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM