-3

実行時に値を入力し、ユーザーに提示したい定義済みの文字列形式がいくつかあります。constantsまたはdefinesのどちらか適した方として保存したいと思います。

何かのようなもの:

@% has sent you a message on @%-@%-@%.

実行時に、上記は送信者の名前と mm-dd-yy を取得して、必要な文字列を準備します。

James Bond has sent you a message on 12-31-2050.

そのようなことを実装するためのコードを誰かが指摘できますか?

編集:多くの人(特に投票者!)が信じていることとは反対に:

これは単なる文字列のフォーマットの問題ではありません。以下を確認するために投稿されます。

  • 使用時だけでなく、フォーマットを永続的に保存したいため、文字列形式のストレージはメモリ効率が良い(静的 vs 定義 vs その他)
  • 実行時の値の置換は時間効率が良い (stringWithFormat と他のオプション)
4

5 に答える 5

2

これを試してみてください..役立つかもしれません。

 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"dd-MM-yyyy"];
    NSDate *now = [[NSDate alloc] init];

    NSString *theDate = [dateFormat stringFromDate:now];
     NSLog(@"theDate..%@",theDate);
    NSString *str = @"yourString";
    NSString *new =  [NSString stringWithFormat:@"%@ has sent you a message on %@", str, theDate];
于 2013-01-30T10:29:50.073 に答える
1

次のようにできます。

一番上に、

#define MESSAGE @"%@ has sent you a message on %@-%@-%@."

次に、そのメッセージを使用したいときはいつでも、以下の構文を使用します。

[NSString stringWithFormat:MESSAGE, <sender_name>, <date>, <month>, <year>];

sender_name、date、month、year は動的な値です。

うまくいけば、あなたはアイデアを得ました。

ハッピーコーディング!

乾杯!

于 2013-01-30T10:38:43.833 に答える
1

まず、現在の日付を取得する必要があります

NSDateFormatter *date= [[NSDateFormatter alloc] init];
    [date setDateFormat:@"MM-dd-yyyy"];
    NSDate *thisDate= [[NSDate alloc] init];

NSString *currentDate= [date stringFromDate:thisDate];
 NSLog(@"Current date is..%@",currentDate);

実行時に任意の文字列を入力できるようになりました

 NSString *strng = @"whatever kind of string which you want to add at runtime";
    NSString *newString=  [NSString stringWithFormat:@"%@ has sent you a message on %@", strng, currentDate];

「newString」の値は、必要な結果を提供します。

于 2013-01-30T10:56:20.517 に答える
1

使用する[NSString stringWithFormat:@"%@ has sent you a message on %@", who, date]

于 2013-01-30T10:18:36.993 に答える
0

#define messageString(x,y,z) を使用 [NSString stringWithFormat:@"%@ から %@-%@-%@ にメッセージが送信されました。",x,y,z]

于 2013-01-30T10:46:00.380 に答える