XMPP之vCard(個人信息)模塊:XEP-0054

如之前所說,建議建立一個XMPPStream單例對象,然后再在這個單例對象中進行模塊添加,當然使用其他你認為合適的方式進行下面的模塊添加也是OK的

XEP-0054:vcard-temp(電子名片)

1,導入頭文件,最后一個頭文件是vCard相關的頭像模塊
#import "XMPPvCardTempModule.h"
#import "XMPPvCardTemp.h"
#import "XMPPvCardCoreDataStorage.h"
#import "XMPPvCardAvatarModule.h"
2, 模塊添加
//添加vCard模塊
_vCardStorage = [XMPPvCardCoreDataStorage sharedInstance];
_vCardModule = [[XMPPvCardTempModule alloc] initWithvCardStorage: self.vCardStorage];
[self.vCardModule activate:_xmppStream];
_vCardAvatorModule = [[XMPPvCardAvatarModule alloc] initWithvCardTempModule:self.vCardModule];
[self.vCardAvatorModule activate:_xmppStream];
3,模塊使用:

如果需要使用模塊,需要把模塊相應的對象暴漏到頭文件中方便我們之后調(diào)用
在本模塊中需要暴漏的是XMPPvCardTempModule對象,因為XMPPvCardTempModule對象下面有一個myvCardTemp屬性,可以直接對其取值,或者賦值后更新,具體如下

//1,取出myvCardTemp對象
XMPPvCardTemp *myvCard = [IMStream sharedStream].vCardModule.myvCardTemp;

//2,進行相應的操作
myvCard.nickname = @"ivanl003";
myvCard.photo = UIImagePNGRepresentation([UIImage imageNamed:@"addressbook_seleted"]);

//3,更新數(shù)據(jù)到數(shù)據(jù)庫和服務器
[[IMStream sharedStream].vCardModule updateMyvCardTemp:myvCard];
4,釋放模塊,當你不需要再使用這個模塊的時候可以釋放掉這個模塊(在單例中貌似沒有這個必要,可以在控制器死亡的時候進行釋放,具體放在那里看具體情況)
//首先凍結模塊
[_vCardModule deactivate];
//然后把對象設置為nil
_vCardStorage = nil;
_vCardModule = nil;
_vCardAvatorModule = nil;
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評論 25 709
  • 單例模式(SingletonPattern)一般被認為是最簡單、最易理解的設計模式,也因為它的簡潔易懂,是項目中最...
    成熱了閱讀 4,536評論 4 34
  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向對象的用電信息數(shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,370評論 6 13
  • 家家有本難念的經(jīng)。每一對CP在激情過后,都將迎來略顯平淡的未來,然而能不能撐過明天晚上是享受后天燦爛陽光的前提。 ...
    臨淵薦書閱讀 827評論 0 0
  • 突如其來的下雨天 三分之一的雨水 三分之二的我和你 熙熙攘攘的人群 瞪大了眼睛在尋找 第一次相見費勁小小周折 穿來...
    與生結弦閱讀 300評論 0 0

友情鏈接更多精彩內(nèi)容