gpt4 book ai didi

ios - UIImage initWithData 在 iOS 4.3 上表现不同

转载 作者:行者123 更新时间:2023-11-29 13:49:52 25 4
gpt4 key购买 nike

我有一个应用程序在 App Store 中正常运行了 6 个月左右,但它的任何图像(通过“NSURLConnection initWithRequest”从网站下载)都没有显示在 iOS 4.3 中。原来我有一行代码看起来像这样:

UIImage *img = [[UIImage alloc] initWithData:data];

此后不久,为了准备下一张图片,我会这样做:

data.length = 0;

当我注释掉将长度设置为零(将它推迟到下一张图片开始下载)时,它适用于 iOS 4.3。

我已仔细检查以确保没有缓冲区干扰,但我的每个图像都在其自己的对象实例中,该对象将缓冲区(数据)作为实例变量。

在我看来,在 iOS 4.3 中,当方法返回时,initWithData 实现并没有完全完成数据。也许某些工作被推迟到将 UIImage 分配给 UIImageView 时,这会稍晚发生?甚至可能会推迟到 UIImage 渲染完成?

谁能阐明 iOS 4.3 中这种看似新的行为?

最佳答案

我认为您的分析听起来很正确。很容易想象会导致这种情况的那种小变化,例如 UIImage 可能已更改为保留数据而不是复制数据,或类似的东西。我会向 Apple 提交错误以确保有人注意到该问题,然后通过将您的代码更改为:

UIImage *img = [[UIImage alloc] initWithData:[[data copy] autorelease]];

至少,我认为这会解决它。如果没有,那将非常有趣...请以某种方式告诉我们。

关于ios - UIImage initWithData 在 iOS 4.3 上表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5262326/

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