gpt4 book ai didi

iphone - Objective-C 定义

转载 作者:行者123 更新时间:2023-12-03 20:21:31 24 4
gpt4 key购买 nike

这是一个令人痛苦的菜鸟问题,但在这里我正在学习一种新的语言和框架,并且我试图回答“什么是真理?”这个问题。与 Obj-C 相关。

我正在尝试通过网络延迟加载图像。我有一个名为 Event 的数据类,其属性包括:

@property (nonatomic, retain) UIImage image;
@property (nonatomic, retain) UIImage thumbnail;

在我的 AppDelegate 中,我获取了一堆有关我的事件的数据(这是一个显示本地艺术事件列表的应用程序),并将每个 event.image 预设为我的默认“no-image.png”。

然后在 UITableViewController 中我查看这些内容,我这样做:

if (thisEvent.image == NULL) {
NSLog(@"Going for this item's image");
UIImage *tempImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:
[NSURL URLWithString:
[NSString stringWithFormat:
@"http://www.mysite.com/content_elements/%@_image_1.jpg",
thisEvent.guid]]]];
thisEvent.image = tempImage;

}

我们永远不会收到 NSLog 调用。测试 thisEvent.image 是否为 NULL 不是问题。我也尝试过 == nil ,但这也不起作用。

最佳答案

延迟加载将如下所示:

@property (nonatomic, read-only) UIImage *image;

- (UIImage *)image {
if (!image) {
image = [[UIImage imageWithData:[NSData dataWithContentsOfURL:
[NSURL URLWithString:
[NSString stringWithFormat:
@"http://www.mysite.com/content_elements/%@_image_1.jpg",
thisEvent.guid]]]] retain];
}

return image;
}

并且不要忘记在 dealloc 中释放图像。

问候,

关于iphone - Objective-C 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818936/

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