【问题标题】:Using contentsOfFile instead of image named使用 contentsOfFile 代替图像命名
【发布时间】:2015-04-10 23:33:09
【问题描述】:

我的应用程序在 iPad Mini 上显示内存警告后崩溃。经过大量研究,我发现问题是由于使用 UIImage( named:) 分配内存造成的,例如:

SkipTutorial.image = UIImage(named: "skipTutorial.png")

我应该改用contentsOfFile 方法,这样图像就不会被缓存。所以我用了:

if let imgPath = NSBundle.mainBundle().pathForResource("skipTutorial", ofType: "png") {
     SkipTutorial.image = UIImage(contentsOfFile:imgPath)
}

但是,这不会获取图像。图片在 Xcode 的 Images.xcassets 中。基本上我的应用程序使用了大量不需要缓存的图像。我在这里发现了类似的问题:

How can I stop my swift app from crashing

甚至他的问题在 cmets 中也没有回答如何使用contentsOfFile 方法。如果有人在这里帮助我,我将不胜感激。

【问题讨论】:

  • 添加SkipTutorial 的定义方式。
  • @Zaph 我不知道这很重要,但你可以去:`var SkipTutorial = UIImageView()`

标签: ios swift


【解决方案1】:

据我所知,您不能使用xcassets

只需将您的图像包含在 Xcode 的文件夹中,确保将它们复制到包中,然后使用

访问它们
let path = NSBundle.mainBundle().pathForResource(imageName, ofType: "png")
let image = UIImage(contentsOfFile: path)

【讨论】:

  • 刚刚将图像添加到 xcode 项目文件夹中。并如上所述运行代码。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 2018-04-18
  • 2015-03-17
相关资源
最近更新 更多