UIImage using contentsOfFile

Ich benutz

self.imageView.image = UIImage(named: "foo.png")

zum Auswählen und Laden von Bildern in einemUIIMageView. Ich habe die Bilder in meiner App unter demimages.xcassets. Das Problem ist, dass dieses spezielleinit zwischenspeichert das Bild zur Wiederverwendung gemäßoffizielle Apple Dokumentation:

Wenn Sie eine Bilddatei haben, die nur einmal angezeigt wird, und sicherstellen möchten, dass sie nicht zum Cache des Systems hinzugefügt wird, sollten Sie Ihr Bild stattdessen mit @ erstelleimageWithContentsOfFile:. Auf diese Weise wird Ihr Single-Use-Image nicht im System-Image-Cache gespeichert, wodurch möglicherweise die Speicherverwendungseigenschaften Ihrer App verbessert werden.

Meine Ansicht ermöglicht das Durchblättern von Bildern, bevor Sie eines auswählen. Der Speicherbedarf nimmt mit dem Durchblättern immer mehr zu und sinkt auch dann nicht, wenn ich aus dieser Ansicht zurück navigiere.

So versuche ich, @ zu verwendUIIMage(contentsOfFile: "path to the file"), wodurch das Bild nicht zwischengespeichert wird. Hier habe ich Probleme, den Pfad der Bilder, die ich unter @ gespeichert habe, programmgesteuert zu ermittel images.xcassets.

Ich habe versucht mit:

NSBundle.mainBundle().resourcePath
un
NSBundle.mainBundle().pathForResource("foo", ofType: "png")

ohne Glück. Beim ersten erhalte ich den resourcePath, aber wenn ich über das Terminal darauf zugreife, sehe ich keine Image-Assets darunter und beim zweiten erhalte ichnil wenn ich es benutze. Gibt es eine einfache Möglichkeit, dies zu tun?

Auch mehrere SO Fragen angeschaut (wieDie, Die undDie) ohne glück. Muss ich meine Bilder woanders ablegen, um das @ verwenden zu könnepathForResource()? Was ist der richtige Weg, um dies zu tun?

Es ist schwer vorstellbar, dass noch niemand auf dieses Szenario gestoßen ist :)!

Antworten auf die Frage(6)

Ihre Antwort auf die Frage