Когда я получаю приложение XMPP Presence в приложении, я добавляю его содержимое в NSMutableDictionary
, чтобы отправить его по другому ViewController
. Если я использую NSLog
, чтобы увидеть содержимое этого словаря, я вижу все в порядке. Но когда я обращаюсь к этому NSMutableDictionary
от другого ViewController
Я не могу найти JID.Rest вещей хранится в порядке.Не удается получить XMPP JID из приложения NSMutableDictionary iOS.
Это то, что я делаю, сохраняя содержимое присутствия XMPP i i JID и Name.
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence
{
NSString *fromUser = [[presence from]user]; //name of user
NSString *fromUserJID = [NSString stringWithFormat:@"%@",[presence from]] ;
NSLog(@"presence from user JID :- %@", fromUserJID); // This shows the JID.
[_locationDictionary setObject:fromUser forKey:@"fromUser"];
[_locationDictionary setObject:fromUserJID forKey:@"fromJID"];
NSLog(@"locationary dictionary :- %@",_locationDictionary); // This shows name as well as JID.
// add to array
[_presenceArray addObject:_locationDictionary];
Теперь, когда я пытаюсь получить доступ к этому в другом ViewController я делаю это: -
NSString *str=view.annotation.title; //This has the name of the user.
NSLog(@"annotation title :- %@", str);
for (NSDictionary *obj in appDelegate.presenceArray)
{
NSString *titleString = [obj objectForKey:@"fromUser"];
if ([str isEqualToString:titleString]) //for the same username I need the JID
{
NSString *jidString = [obj objectForKey:@"fromJID"];
[ dict setObject:jidString forKey:@"jid"]; //dict is NSMutableDictionary
NSLog(@"retrieved jid is :- %@", dict); // THIS IS NULL
jidString имеют какое-то значение или это ноль? И вы инициализировали свой дикт? –
где вы вложили свой «дикт»? – iProgrammer
dict инициализирован, в ViewDidLoad – icodes