2015-04-10 4 views
2

Приложение для приложения отключается после отображения предупреждений памяти на iPad Mini. После большого количества исследований я обнаружил, что проблема связана с распределением памяти с помощью UIImage(named:) например:Использование contentsOfFile вместо изображения с именем

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

И я должен использовать вместо contentsOfFile метод так, чтобы изображения не кэшируются. Поэтому я использовал:

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

Однако это не приносит изображения. Изображения находятся в Images.xcassets в Xcode. В основном мое приложение использует много изображений, которые не нужно кэшировать. Я нашел подобную проблему здесь:

How can I stop my swift app from crashing

и даже его запрос остался без ответа в комментариях о том, как использовать contentsOfFile метод. Я был бы очень признателен, если бы кто-то помог мне здесь.

+0

Добавить как 'SkipTutorial' определяется. – zaph

+0

@Zaph Я не знал, что это имеет значение, но вот вы: 'var SkipTutorial = UIImageView()' –

ответ

5

Вы не можете использовать xcassets, насколько я знаю.

Просто включите ваши изображения в папке в Xcode, убедитесь, что они копируются в пачке, и доступ к ним с

let path = NSBundle.mainBundle().pathForResource(imageName, ofType: "png") 
let image = UIImage(contentsOfFile: path) 
+0

Просто добавил изображения в папку проекта xcode. и запускал код, как указано выше. Благодаря! –

Смежные вопросы