字符串、数组、字典、结构体
2015-12-28 18:06
190 查看
一、字符串
1.不可变字符串( 关键字NSString )
1.1创建方式:
第一种方式:NSString *str =
"shdjgbeb";"%
第二种方式:
NSString *string = [NSString stringWithFormat:
",str];"内容相同");
1.2 判断两个字符串的内容是否相同
1.2.1 if ( [str isEqualToString: string] ) {
NSLog(
}
else{
NSLog(
"内容不相同");"abcdfg"];
}
1.2.2 三个值 1代表str大于string 0是相等 -1是小于
[str compare: string]
1.2.3 不区分大小写比较,返回值为枚举型,通倍符%li
[str caseInsensitiveCompare:string];
1.3首字母大写,其余的全部小写
[str capitalizedString];
1.4 将字符串改为大写
[str uppercaseString];
1.5将大写的改为小写
[str lowercaseString];
1.6从字符串开始到字符串第4个
[str substringToIndex:4];
1.7从位置第4个开始到字符串结尾
[str substringFromIndex:4];
1.8从字符串中取出中间的字符
[str substringWithRange:NSMakeRange(2, 3)];
2.可变字符串( 关键字 NSMutableString)
2.1创建方式:
NSMutableString *muStr = [NSMutableString stringWithCapacity:100];
2.2追加字符串
[muStr appendString:
2.3设置字符串
[muStr setString:
"123456"];"w" atIndex:1];
2.4在某个位置插入字符串
[muStr insertString:
2.5查找字符串中的
“f”"f"];
NSRange range = [muStr rangeOfString:
2.6用
"我"代替查找到的“5”
[muStr replaceCharactersInRange:range withString:
"5"];"今天是%i年%i月%i日",year,month,day];
2.7追加字符串格式
[muStr appendFormat:
2.8 查找
2.8.1直接查找
unichar c=[muStr characterAtIndex:2];
2.8.2范围查找
NSString *string=[muStr substringWithRange:NSMakeRange(2, 3)];
2.9字符串的遍历(for 循环)
2.9.1第一种方式
for ( int i=0; i<[muStr length]; i++ ) {
NSString *str=[muStr substringWithRange:NSMakeRange(2, 4)];
NSLog(
"%",str);
}
2.9.2 第二种方式
for (int i=0; i<[muStr length]; i++) {
unichar c=[muStr characterAtIndex:i];
NSLog(
"%c",c);"1",
}
二、数组
1.不可变数组(关键字NSArray)
1.1创建方式:
第一种方式:NSArray *arrary = [NSArray arrayWithObjects:
"2","4",
"3",nil];[
第二种方式:NSArray *Arrary =
"1","2",
"3"];"%
1.2 数组的遍历
1.2.1第一种方式
for (int i = 0; i<[arr count]; i++) {
NSLog(
",arrary[i]);"%
}
1.2.2第二种方式(for-in)
for (id thing in Arrary) {
NSLog(
",thing);"%
}
1.2.3第三种方式(枚举)
NSEnumerator *numerator=[Arrary objectEnumerator];
NSString *enumer;
while (enumer=[numerator nextObject]) {
NSLog(
",enumer);[
}
2.可变数组(关键字NSMutableArray)
2.1创建方式:
第一种方式:NSMutableArray *muArray = [NSMutableArray arrayWithCapacity:10];
第二种方式:NSMutableArray *muArray=[ NSMutableArray arrayWithArray:
"1","2",
"3"] ];"1",
第三种方式:NSMutableArray *muArray=[NSMutableArray arrayWithObjects:
"2","3",nil];
2.2追加数组
[muArray addObject:
"1"]; //追加一个数[
[muArray addObjectsFromArray:
"2","3",
"4"] ]; //追加一个数组"hello" atIndexedSubscript:0];
2.3设置数组
[muArray setObject:
2.4在数组中插入
2.4.1 在某个位置插入一个数
[muArray insertObject:
"521" atIndex:3];"1"];
2.4.2在数组中插入一个数组(关键字 NSIndexSet)
NSRange range = NSMakeRange( 1, [array count] );
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange: range ];
[muArray insertObjects:array atIndexes:indexSet];
2.5 数组查找
2.5.1 通过下标找元素
NSString *arrobj = [muArray objectAtIndex:0];
2.5.2通过元素找下标
NSInteger index = [muArray indexOfObject:
2.5.3通过范围找下标
NSRange range = NSMakeRange(0, 2);
[muArray subarrayWithRange:range];
2.6删除可变数组中的元素
2.6.1 通过元素删元素
[muArray removeObject:
"2"];"me"];
2.6.2通过下标删元素
[muArray removeObjectAtIndex:0];
2.7代替数组的元素
[muArray replaceObjectAtIndex:1 withObject:
2.8数组的遍历(for 循环)
2.8.1第一种方式
for (int i=0; i<[muArray count]; i++) {
NSArray *array=[muArray subarrayWithRange:NSMakeRange(1, 2)];
NSLog(
"%",array);
}
2.8.2 第二种方式(for-in)
for (id thing in muArrary) {
NSLog(
"%",thing);
}
2.8.3 第三种方式(枚举)
NSEnumerator *numerator=[muArrary objectEnumerator];
NSString *enumer;
while (enumer=[numerator nextObject]) {
NSLog(
"%",enumer);
}
三、字典
1.不可变字典(关键字NSDictionary)
1.1创建方式:
第一种方式:NSDictionary *diction =
{"name" :
"zd","age":
"19"};"nv" forKey:
第二种方式:NSDictionary *diction1 = [NSDictionary dictionaryWithObject:
"sex"];[
第三种方式:NSArray *keyArray =
"name","age",
"num","person"];
NSArray *valueArray =
["zd",
"19","4",
"5"];"%
NSDictionary *diction2 = [NSDictionary dictionaryWithObjects:valueArray forKeys:keyArray];
1.2 字典的遍历
1.2.1第一种方式(for-in)
for (id key in diction1) {
NSLog(
",diction1[key]);"%
}
1.2.3第三种方式(枚举)
NSEnumerator *numerator=[diction1 objectEnumerator];
NSString *enumer;
while ( enumer=[numerator nextObject] ) {
NSLog(
",enumer);{
}
2.可变字典(关键字NSMutableDictionary)
2.1创建方式:
NSMutableDictionary *muDict = [NSMutableDictionary dictionaryWithCapacity:10];
2.2追加字典
[muDict addEntriesFromDictionary:
"name":"jack"}];
2.3设置元素
[muDict setObject:
"age" forKey:"17"];
2.4在字典中插入
[muDict insertValue:
"value" atIndex:0 inPropertyWithKey:"key"];
2.5删除可变字典中的元素
[muDict removeObjectForKey:
"name"];"%
2.6字符串的遍历(for 循环)
2.6.1第一种方式
for (id key in muDict) {
NSLog(
",muDict[key]);"枚举:%
}
2.6.2 对key数组进行枚举
NSEnumerator *enumor = [arrKey objectEnumerator];
NSString *strEnum ;
while (strEnum = [enumor nextObject]) {
NSLog(
",strEnum);"key:%
}
2.6.3给字典的键请求枚举器
NSEnumerator *enumDict = [dictTest keyEnumerator];
for (id key in enumDict) {
NSLog(
",key);"今天是:%i年%i月%i日",today.year,today.month,today.day);
}
四、结构体
1.自定义的结构体,struct是结构体的关键字 birthday是自定义的结构体的名字 date是自定义结构体birthday的一个变量。year、 month、day是自定义结构体birthday的参数
struct birthday {
int year;
int month;
int day;
};
struct birthday date = {2015,12,14};
NSLog(
2. 结构体NSRange 用来描述范围 参数是location、length代表的是位置、长度
NSRange range = NSMakeRange(1, 2);
NSRange rangeI = {3,4};
range = rangeI; //可被赋值
NSLog(@"%li %li",range.location,range.length);
3.结构体 NSPoint用来描述坐标的 参数x、y point是结构体类型的变量名"%.2f %.2f",pointI.x,point.y);[/code]
NSPoint point = NSMakePoint(0, 0);
point.x = 10;
point.y = 20;
NSLog("%.2f %.2f",point.x,point.y);
NSPoint pointI = {2,3};
NSLog(
4.结构体NSSize 用来描述尺寸的结构体 参数width、height
NSSize size = {10,20};
NSSize sizeI = NSMakeSize(30, 80);
size = sizeI;
NSLog(@"宽:%.2f 高:%.2f",size.width,size.height);
5.结构体NSRect 描述的是具体的坐标和尺寸 参数NSPoint类型的origin、NSSize类型的size
NSRect rect = NSMakeRect(0, 0, 0, 0);
rect.origin.x = 20;
rect.origin.y = 50;
rect.size.width = 100;
rect.size.height = 50;
NSRect rectI = {10,20,100,300};
6.结构体NSNumber 将基本数据类型封装成对象
6.1 直接调用类方法
NSNumber *number = [NSNumber numberWithChar:'a'];
char a = [number charValue];//将字符的ascot码转换成字符
6.2在基本数据类型前面加符号
NSNumber *num =
'A';NSNumber *numInt =
1;[number,@1,@YES];
NSArray *array =
7.NSValue是NSNumber的父类 封装结构体
NSValue *value= [NSValue valueWithPoint:point]; //封装结构体
NSPoint pointValue = [value pointValue]; //分拆结构体
8.NSNull是空值类型
NSNull *nul = [NSNull null];
NSArray *array = [NSArray arrayWithObjects:value,nul,number, nil];
[/code]
[/code]
转载于:https://my.oschina.net/u/2555806/blog/552471
相关文章推荐
- Go 结构体、数组、字典和 json 字符串的相互转换
- 字符串、数组、字典、结构体
- Go 结构体、数组、字典和 json 字符串的相互转换方法
- 使用JavaScriptSerializer序列化集合、字典、数组、DataTable为JSON字符串
- swift字符串 字典 数组
- 为结构体的字符数组成员赋十六进制形式表示的字符串
- 考核6 数组和字符串 描述器排序 字典替换
- 写入文件 (字符串/ 数组 / 字典)
- 把字典和数组转换成json字符串
- 学习笔记(06):4.5.数组&字符串&结构体&共用体&枚举-C语言专题第5部分-4.5.5.C语言的字符串类型...
- 指针概念;数组指针、字符串指针、结构体指针、动态内存申请、指针数组;
- OC中的字符串(NSString)、字符串数组(NSArray)和字典(NSDictionary)
- swift 数组、字典、集合、结构体、枚举——swift学习(四)
- UIpickview使用 【简单封装了下】数组中可以是字典,字符串
- iOS开发:沙盒机制以及利用沙盒存储字符串、数组、字典等数据
- swift 字符串,数组,字典 的那些事<二>
- 乐鑫esp8266学习rtos3.0笔记第3篇: 一篇文章带你搞掂存储技术 NVS 的认识和使用,如何利用NVS保存整型、字符串、数组以及结构体。(附带demo)
- swift学习笔记之---数组、字典、枚举、结构体
- iOS 第四期考核题(字符串/字典/数组的使用)
- 考核5 把字符串存入字典 数组对首字母排序 数组删除