我有一些预定义字符串格式,我想在运行时将值填充到用户并呈现给用户。我想将它们存储为constants
或defines
,无论哪种更适合。
类似的东西:
@% has sent you a message on @%-@%-@%.
在运行时,上面将获取发件人姓名和mm-dd-yy以准备所需的字符串:
James Bond has sent you a message on 12-31-2050.
任何人都可以指出代码来实现这样的事情吗?
编辑: 与许多人(特别是贬低者!)相信的相反:
这不仅仅是string formatting question。它被发布以确保:
答案 0 :(得分: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];
答案 1 :(得分:1)
使用[NSString stringWithFormat:@"%@ has sent you a message on %@", who, date]
答案 2 :(得分:1)
你可以这样做:
在顶部,
#define MESSAGE @"%@ has sent you a message on %@-%@-%@."
然后,只要您想使用该消息,请使用以下syntex:
[NSString stringWithFormat:MESSAGE, <sender_name>, <date>, <month>, <year>];
sender_name,date,month,year是动态值。
希望,你有个主意。
快乐的编码!
干杯!
答案 3 :(得分: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”的值将为您提供所需的结果。
答案 4 :(得分:0)
使用 #define messageString(x,y,z)[NSString stringWithFormat:@“%@已在%@ - %@ - %@上向您发送了一条消息。”,x,y,z]