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);
相关文章推荐
- 二叉树的先中后序遍历
- iOS 企业证书发布app 流程
- IOS构建XMPP开发
- Subject Alternative Names
- 关于架构的读书笔记
- mysql 导出慢
- Oracle一个中文汉字占用几个字节
- d3 学习参考
- 工作笔记之“linux shell 常用命令”
- 几个常用的Sublime插件
- 黑马程序员--面向对象(上)
- 阅读大型源码的方法
- JAVAEclipse使用学习总结
- linux 创建ftp 和win7 访问
- jpg png gif 图片的区别
- android开发之GPS定位详解
- Android-状态栏透明导致android:windowSoftInputMode属性失效
- javascript_DOM笔记(1)
- iOS 原生扫码
- [POJ1704]Georgia and Bob