Das 3 preferredLocalizations
von Bundle
sind so verwirrend, dass ich so viele Fragen haben:Bundle.preferredLocalizations Verwirrung
Warum die 2
preferredLocalizations
Methoden Klassenmethoden sind aber einige über nicht spezifiziert spezifische Bündel im Gespräch halten, als ob sie werden einige einzelneBundle
Instanz aufgerufen?preferredLocalizations(from:)
: Was genau sinda bundle object
undthe bundle
?-
Returns ein oder mehr Lokalisierungen aus der angegebenen Liste dass ein Bündel Objekt verwenden würde Ressourcen für den aktuellen Benutzer zu lokalisieren.
-
Ein Array von NSString Objekten, von denen jedes für eine Lokalisierung, die Sprach-ID gibt an, dass das Bündel Abstützungen.
-
preferredLocalizations(from:forPreferences:)
: Was genau sindthe specified bundle
undthe receiver’s bundle
?-
Gibt die Lokalisierungen, die ein Bündel Objekt würde, da das angegebene Bundle und Benutzer-Spracheinstellungen bevorzugen.
-
Ein Array von NSString Objekten, von denen jedes eine Lokalisierung des Bündels des Empfängers in identifiziert. Diese Zeichenfolgen sind im Array gemäß den angegebenen Voreinstellungen angeordnet und werden den Zeichenfolgen im Array-Parameter localizations entnommen. Wenn keine der vom Benutzer bevorzugten Lokalisierungen im Bundle verfügbar sind, gibt diese Methode eine der Bündellokalisierungen zurück.
-
Warum
preferredLocalizations(from: localizations)
does't Rück das gleiche Ergebnis wiepreferredLocalizations(from: localizations, forPreferences: nil)
? Wie oben erwähnt, hilft das Lesen ihrer Dokumente nicht wirklich. Sicher schauen sie auf diese Weise entworfen, aber eigentlich nicht:// Locale.preferredLanguages: ["es-CN", "ja-CN", "zh-Hans-CN", "en-CN", "he-IL"]. let localizations = ["de", "en", "es", "fr", "it"] print(Bundle.preferredLocalizations(from: localizations)) // ["en"] print(Bundle.preferredLocalizations(from: localizations, forPreferences: nil)) // ["es"]