格式說明符
由於格式說明符的性質,如果要在字串中包含百分比符號(%),則必須使用第二個百分比符號對其進行轉義。
例:
int progress = 45;//percent
NSString *progressString = [NSString stringWithFormat:@"Progress: %i%%", (int)progress];
NSLog(progressString);//logs "Progress: 45%"
不存在 BOOL 型別的格式說明符。
常用解決方案包括:
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %@", myBool?@"true":@"false"];
NSLog(boolState);//logs "true"
它利用三元運算子來轉換字串等價物。
BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %i", myBool];
NSLog(boolState);//logs "1" (binary)
它利用(int)強制轉換來植入二進位制等價物。