2016-05-16 3 views
2

私はthis guideを使用して自分のアプリにローカリゼーションを統合し始めました。動的変数を含む文字列をローカライズするまではうまく機能しました。その後、私はそれをローカライズするthisスタック答えをmimiicしようとしたNSLocalizedString with Dynamic Variable(Swift) - 動作していません

let myString = "I have \(countOfMoney) dollars in my wallet." 

:オリジナルは、このでした。しかし、EXC_Bad_Accessエラーが発生します。以下はどのように私はそれをローカライズしようとしています。

これは私のLocalizable.strings英語のファイルにあります。

localizedMsg="I have %@ dollars in my wallet."; 

これは私のビューコントローラである:

let countOfMoney = moneyInWallet.count 
let localizedMsg = String(format: NSLocalizedString("localizedMsg", comment: ""), countOfMoney) 

私は上のアプリを実行したときただし、この行はエラーとして表示されますシミュレータ。どうすれば修正できますか?

答えて

4

セットアップが正しくありません。あなたのコードは次のようになります。

let localizedMsg = String(format: NSLocalizedString("I have %d dollars in my wallet.", comment: ""), countOfMoney) 

は今、あなたの更新のLocalizable.stringsファイルを取得するためにgenstringsを実行します。行を追加します

"I have %d dollars in my wallet." = "I have %d dollars in my wallet."; 

はまた%d%@からの変更点に注意してください。これは、countOfMoneyが整数型であることを前提としています。オブジェクトポインタには%@を使用してください。

+0

私はちょうどあなたのコードの形を模倣し、それは働いたので、ありがとう。あなたはgenstringsを実行することによって何を意味しましたか? –

+1

'genstrings'は' NSLocalizedString'への呼び出しをすべてのソースコードでスキャンし、 'Localizable.strings'ファイルを生成するツールです。 – rmaddy

関連する問題