私は、この構造体を使用します。スウィフトのStruct
struct Constants {
struct array {
static let fuel = [NSLocalizedString("Gasoline", comment: ""),
NSLocalizedString("Diesel", comment: ""),
NSLocalizedString("Hybrid", comment: ""),
NSLocalizedString("Electric", comment: ""),
NSLocalizedString("other", comment: "")]
}
}
私は他の場所で呼び出しConstants.array.fuel
を行い、それが仕事の罰金です。 問題は、私がアプリケーション言語を変更すると、NSLocalizedString
が期待どおりに機能しないことです(私は古い翻訳を取得します)。 static
を使用している可能性があります。 他のビューコントローラではNSLocalizedString
が問題なく動作します。私はstatic
を削除すると 、私が取得:
Instance member 'fuel' cannot be used on type 'Constants.array'
任意のヘルプしてください。
あなたが言ったように、それは定数と同じくらい速く動作しません。 exempleのために構造体をリセットする他の方法はありますか?さもなければ私はあなたの答えを受け入れます。あなたに感謝します。 – abdel
@abdel 'nil'に設定したプライベートのオプションのプロパティを作ることができます。次に、プロパティを計算されたプロパティにします。プライベートプロパティが 'nil'の場合は、それを配列に設定して、ラップされていないプライベートプロパティを返します。言語を変更するときは、privateプロパティを 'nil'に再度設定して、次回の使用時に強制的に再計算されるようにしてください。 – JeremyP