NSString 用法总结与陷阱

原文地址:http://m.blog.csdn.net/tangaowen/article/details/6438414

1、 如何 从 std::string 转为 NSString ,也就是 Unicode
(1) 使用 stringWithCString

std::string   strTime="1989:03:21";

NSString* showTime = [NSString stringWithCString: strTime.c_str()   encoding:NSUTF8StringEncoding];

(2) 使用 stringWithFormat

    NSInteger year=1990;
    NSInteger month=10;
    NSInteger day=1;
    NSString *  nsDateString= [NSString  stringWithFormat:@"%4d年%2d月%2d日",year,month,day];

如果是从 string 转换为NSString,千万不要使用下面这样的代码:

    std::string   strName="ggboy";
    NSString  * nsName= [NSString  stringWithFormat:@"%s",strName.c_str()];

要使用也使用下面的代码:

    std::string   strName="ggboy";
    NSString  * nsName= [NSString  stringWithFormat:@"%@", [NSString stringWithCString:strName.c_str()  encoding:NSUTF8StringEncoding]   ];

2、如何从 NSString转换为 std::string
使用 UTF8String 方法

NSString  * nsfaceName=@"HELLO";

const char  *  lpfaceName = [nsfaceName UTF8String];

std::string   strFaceName=  [nsfaceName UTF8String];

3、 NSString 怎么比较是否相等

    NSString  *  beijin=@"北京市";
    NSString  *  shanghai=@"上海市";
if([shanghai   isEqualToString:beijin])
{
   //相等
}

4、 NSString 怎么让 字符串相连相加

NSString  *  beijin=@"北京市";
NSString  *  shanghai=@"上海市";
NSString *  nsResult=nil;
nsResult=[beijin  stringByAppendingString:shanghai];

你可能感兴趣的:(NSString 用法总结与陷阱)