Wie behandeln NSBundle pathForResource: ofType: und UIImage imageWithContentsOfFile: Skalierungs- und Gerätemodifikatoren?

In meinem iOS-Ressourcenordner befinden sich die folgenden Bilder:

foo~iphone.png
foo@2x~iphone.png
foo~ipad.png
foo@2x~ipad.png

Ich lade sie mit:

NSString *fileName = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:fileName];

Experimentell:

Auf dem iPhonefilename ist/path/to/bundle/foo~iphone.pngund auf dem Retina iPhone lädt es das@2x Ausführung.

Auf dem iPadfilename ist/path/to/bundle/foo~ipad.pngund auf dem Retina iPad lädt es das@2x Ausführung.

Das heißt, es lädt das Bild, das ich hoffe, aberpathForResource behandelt den Geräte-Modifikator undimageWithContentsOfFile behandelt den Skalenmodifikator.

Ich würde gerne wissen warum. DasDokumentation vonpathForResource sagt nichts über Gerätemodifikatoren, und dieDokumentation vonimageWithContentsOfFile sagt nichts über Skalenmodifikatoren aus.

Gibt es eine separate Dokumentation, in der genau angegeben ist, was die einzelnen Funktionen ausführen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage