stringWithFormat:用法及注意事项

来源:互联网 发布:c语言beep函数 编辑:程序博客网 时间:2024/04/30 07:25


在ObjectiveC中NSString中有一个 stringWithFormat:方法


常见的输出方式:

NSString *height;

height = [NSString stringWithFormat:@"Your height is %d feet, %d inches.",5,11];

NSLog(@"%@",height);


输出结果:

2013-04-12 10:30:47.744 String[2161:303] Your height is 5 feet, 11 inches.



输出多个字符的方式(以两个字符为例):

 

NSString *str;

NSString *str1 = @"123";

NSString *str2 = @"465";

str = [NSString stringWithFormat:@"%@,%@",str1, str2];

NSLog(@"%@",str);


输出结果:

2013-04-12 10:31:48.213 String[2171:303] 123,465


下面这种方式是错误的:

 

str = [NSString stringWithFormat:@"123",@"456"];

NSLog(@"%@",str);


关于stringWithFormat:

输出结果:

2013-04-12 10:35:34.043 String[2209:303] 123

@“456” 不会被输出;

以上代码可以改写成:

str = [NSString stringWithFormat:@"%@,%@",@"123",@"456"];

NSLog(@"%@",str);


输出结果:

2013-04-12 10:42:39.541 String[2229:303] 123,456



我们经常会初始化一些string使用NSString的stringWithString函数

但使用时发现了一个stringWithString的问题,如图

当参数是nil时,stringWithString会crash,所以使用时必须验证参数不是nil

相比较stringWithFormat就不会crash但返回的str也不是nil而是@"(null)"


所以再做此类操作时事先要判断参数



0 0
原创粉丝点击