NSString 用法总结与陷阱
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];