菜鸟教程小白 发表于 2022-12-13 00:49:22

ios - 这曾经工作 : Displaying image using imageWithContentsOfFile


                                            <p><p>昨天早上这对我有用,但现在不行了。所以,我怀疑是其他原因导致它发生了变化……但我找不到变化。我花了几个小时将我的代码恢复了将近一周,但它仍然无法正常工作(我<em>知道</em>昨天早上它还在工作)。所以,我希望在发布这个特定问题(一个症状?)时会出现一些我可以评估的想法。谢谢。</p>

<p>我会根据需要下载图片:</p>

<pre><code>NSFileManager *filemgr;
filemgr = ;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = ;
NSString *targetFile = ;

// only download those where an image exists
if(!)
{
    // only download the file if there is not already a local copy.
    if( == NO)
    {
      NSMutableData *imageData = [ initWithLength:0];
      ;
      NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
      NSString *documentsDirectory = ;
      NSString *thumbNailFilename = ;
      NSString *thumbNailAppFile = ;
    }
}
</code></pre>

<p>然后显示它们:</p>

<pre><code>NSString *imageFullName = , ];
NSString *fullImagePath = [ stringByAppendingPathComponent:imageFullName];
UIImage *greetingImage = ;
self.greetingImage.image = greetingImage;
</code></pre>

<p>变量“imageFullName”和“fullImagePath”填充了正确的数据,并且图像文件存在于模拟器上的指定目录中。然而,“greetingImage”等于 nil。 </p>

<p>这是我得到的“fullImagePath”:/Users/Steve2/Library/Application Support/iPhone Simulator/7.1/Applications/8C9F8417-F6E2-4B38-92B3-82A88477CB7F/Documents/165.jpg</p>

<p>以下是图片文件:
<img src="/image/lj2dJ.png" alt="screen shot of the images at the specified path"/> </p>

<p>我还尝试了使用 initWithContentsOfFile 和 dataWithContentsOfFile 的变体并得到相同的结果。 greetingImage 变量为零。</p>

<p>我很欣赏你的想法。我什至重新安装了 Xcode,希望某些东西被破坏了。没有骰子。</p>

<p>已添加:我刚刚想到的一件事...我昨天确实将 SystemConfiguration.framework 添加到项目中以获得不相关的功能。它目前位于链接框架和库列表的顶部。我没有使用这个的经验。会不会是导致问题的原因?</p>

<p>谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><strike>您的代码看起来正确。</strike></p>

<p>我会检查图像本身是否还可以。查看您发布的 Finder 屏幕截图并没有显示应使用有效 JPEG 进行的图像预览。您说图像正在下载,所以我怀疑它们在下载过程中以某种方式损坏。</p>

<p><strong>编辑:</strong></p>

<p>没有注意到您使用的是 <code>initWithContentsOfFile</code>。由于您将文件保存为 NSData 对象,您需要将它们作为 NSData 对象加载到内存中,然后使用数据对象初始化 UIImage,如下所示:</p>

<pre><code> NSData *imageData = ;
;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 这曾经工作 : Displaying image using imageWithContentsOfFile,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25388054/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25388054/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 这曾经工作 : Displaying image using imageWithContentsOfFile