ローカリゼーションでは、ローカライズされた文字列に%@を定義することができます。iOSは文字列を動的に定義します
しかし、私はこれと同じことをすることはできますか?私ができないなら、他の方法がありますか?私はそこから関数と呼び出しを記述したくありません。
#define MESSAGE @"Event - %@ is now saved in your calender."
ローカリゼーションでは、ローカライズされた文字列に%@を定義することができます。iOSは文字列を動的に定義します
しかし、私はこれと同じことをすることはできますか?私ができないなら、他の方法がありますか?私はそこから関数と呼び出しを記述したくありません。
#define MESSAGE @"Event - %@ is now saved in your calender."
マクロは動的ではありません。つまり、コンパイラは、MESSAGE
を使用するどこでも@"Event - %@ is now saved in your calender."
と書いています。
しかし、あなたはstringWithFormat:
を使用して、実行時に%@
プレースホルダを置き換えることができます。
#define MESSAGE @"Event - %@ is now saved in your calender."
NSString *string = [NSString stringWithFormat:MESSAGE, @"EventName"];
string
は今、次のようになります。イベント - EVENTNAMEは今、あなたのカレンダーに保存されます。
私はこれを探しています。ありがとうございます :) –
'stringWithFormat:'を探しますか? https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Strings/Articles/FormatStrings.html – clemens