Привет, я новичок в разработке IPhone, и я ничего не знаю в Objective c. Я разрабатываю приложение, используя быстрый. Я добавил инфраструктуру XMPP в свой проект, и соединение XMPP было успешным. Я использую следующий код, чтобы установить мое соединениеПолучение реестров из XMPP в Swift
func setupStream() {
xmppStream = XMPPStream()
xmppStream!.addDelegate(self, delegateQueue: dispatch_get_main_queue())
xmppReconnect = XMPPReconnect();
xmppRosterStorage = XMPPRosterCoreDataStorage();
xmppRoster = XMPPRoster(rosterStorage: xmppRosterStorage);
xmppvCardStorage = XMPPvCardCoreDataStorage.sharedInstance();
xmppvCardTempModule = XMPPvCardTempModule(withvCardStorage:xmppvCardStorage);
xmppvCardAvatarModule = XMPPvCardAvatarModule(withvCardTempModule:xmppvCardTempModule);
xmppCapabilitiesStorage = XMPPCapabilitiesCoreDataStorage.sharedInstance();
xmppCapabilities = XMPPCapabilities(capabilitiesStorage: xmppCapabilitiesStorage);
// SET UP ALL XMPP MODULES
xmppRoster!.autoFetchRoster = true;
xmppRoster!.autoAcceptKnownPresenceSubscriptionRequests = true;
xmppCapabilities!.autoFetchHashedCapabilities = true;
xmppCapabilities!.autoFetchNonHashedCapabilities = true;
xmppMessageArchivingStorage = XMPPMessageArchivingCoreDataStorage.sharedInstance();
xmppMessageArchivingModule = XMPPMessageArchiving(messageArchivingStorage: xmppMessageArchivingStorage);
xmppMessageArchivingModule!.clientSideMessageArchivingOnly = true;
// Activate xmpp modules
xmppReconnect!.activate(xmppStream);
xmppRoster!.activate(xmppStream);
xmppvCardTempModule!.activate(xmppStream);
xmppvCardAvatarModule!.activate(xmppStream);
xmppCapabilities!.activate(xmppStream);
xmppMessageArchivingModule!.activate(xmppStream);
xmppRoster!.addDelegate(self, delegateQueue:dispatch_get_main_queue());
xmppMessageArchivingModule!.addDelegate(self, delegateQueue:dispatch_get_main_queue());
}
И следующие методы работают хорошо
func xmppStream(sender: XMPPStream?, didReceiveMessage: XMPPMessage?) {
}
func xmppStream(sender: XMPPStream?, didReceivePresence: XMPPPresence?) {
}
Теперь я хочу, чтобы получить список реестра от XMPP. Я нашел метод делегата в классе списка
(void)xmppRosterDidEndPopulating:(XMPPRoster *)sender;
Но как использовать это в классе Swift. Пожалуйста, помогите мне ....
Может быть, вы должны установить делегат XMPPRoster? – Shripada
Наконец я получил ответ Func xmppRosterDidEndPopulating (отправитель: XMPPRoster) {? вар jidList = xmppRosterStorage .jidsForXMPPStream (xmppStream) Println ("List = \ (jidList)") } – pranavjayadev