【发布时间】:2018-06-18 10:46:36
【问题描述】:
我正在从 Parse 服务器获取图像,但是当我收到它并将其存储在 NSMutableDictionary 中时,当我检查它时它无法停留在那里。
NSString* messageSenderId = [receivedMessage objectForKey:@"Sender Id"];
NSLog(@"messageSenderId = %@", messageSenderId);
if([self.avatarDictionary objectForKey:messageSenderId] == nil) { // avatar image for sender not yet stored
PFQuery* userQuery = [PFUser query];
[userQuery whereKey:@"objectId" equalTo:messageSenderId];
PFUser* messageSender = (PFUser *)[[messageSenderQuery findObjects] firstObject];
PFFile *avatarImage = messageSender[@"profilePictureSmall"];
[avatarImage getDataInBackgroundWithBlock:^(NSData * _Nullable data, NSError * _Nullable error) {
UIImage* storedImage = [UIImage imageWithData:data];
[self.avatarDictionary setObject:storedImage forKey:messageSender.objectId];
NSLog(@"objectForKey: %@", [self.avatarDictionary objectForKey:messageSender.objectId]);
[self.collectionView reloadData];
}];
}
当我检查 storedImage 变量时,我可以看到它不是空的。但是,NSLog 显示,在我将它存储在里面之后,该键没有对象。
【问题讨论】:
-
你有没有初始化你的
self.avatarDictionary请检查一下,你必须这样做self.avatarDictionary = [NSMutableDictionary dictionary];???
标签: ios objective-c uiimage nsmutabledictionary