gpt4 book ai didi

ios - 使用 UIImage 迭代 NSMutableDictionary 不起作用

转载 作者:行者123 更新时间:2023-11-29 03:45:50 25 4
gpt4 key购买 nike

我正在尝试将从外部服务获取的图像添加到 NSMutableDictionary 并看到奇怪的结果。这就是我正在做的事情:

- (void)fetchImages{
//Fetch Item Brand Images
//self.itemBrands is an NSArray of NSDictionaries
for (NSDictionary *itemBrand in self.itemBrands){

NSString *currentItemId = [itemBrand objectForKey:@"ITEM_ID"];

//Valid Item Id. This Log message is displayed
NSLog(@"Current Item Id: %@",currentItemId);

NSString *currentItemImageUrl = [[IMAGE_URL stringByAppendingString:currentItemId] stringByAppendingString:@".png"];

//Image URL is valid. This log message is displayed
NSLog(@"Current Image URL: %@",currentItemImageUrl);

NSURL *url = [NSURL URLWithString:currentItemImageUrl];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
if (image == nil){
//This log message is displayed when image is not present
NSLog(@"Image not Present 1");
}else{
//This log message is displayed when image is present
NSLog(@"Image Present 1");
[self.itemBrandImages setObject:image forKey:currentItemId];
}

}

//This for loop is not being executed at all. No log messages displayed.
for(id key in self.itemBrandImages){

NSLog(@"Current Item Id2: %@",key);
if ([self.itemBrandImages objectForKey:key] == nil){
NSLog(@"Image Not Present 2");
}else{
NSLog(@"Image Present 2");
}
}
}

我迭代 self.itemBrandImages 的第二个 for 循环根本没有被执行。里面没有任何日志消息被显示。

在此处发布我的问题之前,我尝试了以下操作:

1) 研究了堆栈溢出中的类似问题并采纳了其中之一的建议。建议是在 .m 文件的 init 方法中“执行 NSMUtableDictionary 的分配初始化”。这也没有帮助。

2)为了隔离问题,我什至尝试向 NSMUtableDictionary 添加一个简单的字符串而不是图像,但即使这样似乎也没有保留。

我真的很困惑我在这里遗漏了什么或做错了什么。非常感谢您的意见。

谢谢,迈克·G

最佳答案

也许:

for(NSString *key in [self.itemBrandImages allKeys])

关于ios - 使用 UIImage 迭代 NSMutableDictionary 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17775799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com