您的位置:首页 > 其它

OC学习笔记之NSString

2015-10-21 20:11 483 查看

1、oc的字符串包含两种:oc的字符串对象(经常称为字符串)@“”与 c语言的字符串””

2、我们一般在oc程序使用最多的是oc的字符串对象

3、oc的字符串@“” C语言的字符串“”

4、在oc程序中能不使用c语言的字符串就不使用c语言的字符串。

sqlite 数据库 参数就是c语言的字符串





NSString : 不可变字符串。 字符串的内容一旦创建好就不容许改变

NSMutableString:可变字符串。 字符串的内容允许改变。

//创建常量字符串

NSString *str1 = @"I am a bad man";

NSString *str_1 =
@"I am a bad man";

NSLog(@"%@,%p",str1,str1);//
字符串存储在内存的常量区
地址一样。两个变量指向同一片区域;

NSLog(@"%@,%p",str_1,str_1);//

//在字符串添加内容,
地址发生改变。。原来的字符串对象并不改变,只是将新生成的字符串重新赋值给指针变量
str1 = [str1
stringByAppendingString:@"YES!"];

NSLog(@"%@,%p",str1,str1);

//通过数字集合创建字符串 unichar
数组 typedef unsigned short unichar;

unichar data[6]={97,98,99,100,65,66};

NSString *strset = [NSString
stringWithCharacters:data
length:6];

NSLog(@"%@",strset);

//写入到文件中
清空原有文件

[strset writeToFile:@"/Users/qianfeng/Desktop/资料夹/my read/笔记---NSString/笔记---NSString/File"
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];

//通过已有字符串创建新字符串。

//一般用于将不可变字符串生成一个可变字符串

NSString *str2 = [[NSString
alloc]initWithString:str1];

NSLog(@"%@",str2);

//通过格式说明符进行抽奖

//arc4random u_int32_t
arc4random(void);

//
产生一个随机数 NSInteger :typedef long NSInteger;

NSInteger a = arc4random()%10;

NSString *str_2 =[[NSString
alloc]initWithFormat:@"我中了%ld元!",a];

NSLog(@"%@",str_2);

//创建带有格式控制符的字符串

NSInteger i = 7;

NSString *str3 = [[NSString
alloc]initWithFormat:@"国庆%ld天假!",i
];

NSLog(@"%@",str3);

//将c字符串转换为oc字符串

NSString *str4 = [[NSString
alloc]initWithUTF8String:"我是一个C字符串,我的前面没有@符号"];

NSLog( @"%@",str4);

NSString *str5 = [[NSString
alloc]initWithCString:"我也是一个C字符串,我的前面没有@符号"
encoding:NSUTF8StringEncoding];

NSLog(@"%@",str5);

int b=10;

//通过类方法创建字符串

NSString *str6 = [NSString
stringWithFormat:@"我又中了%d元",b];

NSString *str6_ = [NSString
stringWithFormat:@"我又中了%d元",b];

//字符串存储在内存的堆区(地址不一样)

NSLog(@"%@,%p",str6,str6);

NSLog(@"%@,%p",str6_,str6_);

NSString *str7 = [NSString
stringWithString:str6];

NSLog(@"%@",str7);

NSString *str8 = [NSString
stringWithUTF8String:"我是通过类方法创建的C字符串"];

NSLog(@"%@",str8);

NSString *str9 = [NSString
stringWithCString: "我是通过类方法创建的C字符串"
encoding:NSUTF8StringEncoding];

NSLog(@"%@",str9);

//从文件中读取字符串 //
文件路径 //
编码格式 // nil

NSString *string = [NSString
stringWithContentsOfFile:@"/Users/xiaohu/Desktop/oc/day2/poj.rtf"
encoding:NSUTF8StringEncoding
error:nil];

NSLog(@"%@",string);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: