您的位置:首页 > 其它

字符串、数组、字典、结构体

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(
"内容不相同");
}
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:
"abcdfg"];
2.3设置字符串
[muStr setString:
"123456"];
2.4在某个位置插入字符串
[muStr insertString:
"w" atIndex:1];
2.5查找字符串中的
“f”
NSRange range = [muStr rangeOfString:
"f"];
2.6用
"我"代替查找到的
“5”
[muStr replaceCharactersInRange:range withString:
"5"];
2.7追加字符串格式
[muStr appendFormat:
"今天是%i年%i月%i日",year,month,day];
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.不可变数组(关键字NSArray)
1.1创建方式:
第一种方式:NSArray *arrary = [NSArray arrayWithObjects:
"1",
"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"] ];
第三种方式:NSMutableArray *muArray=[NSMutableArray arrayWithObjects:
"1",
"2",
"3",nil];
2.2追加数组
[muArray addObject:
"1"]; //追加一个数
[muArray addObjectsFromArray:
[
"2",
"3",
"4"] ]; //追加一个数组
2.3设置数组
[muArray setObject:
"hello" atIndexedSubscript:0];
2.4在数组中插入
2.4.1 在某个位置插入一个数
[muArray insertObject:
"521" atIndex:3];
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:
"1"];
2.5.3通过范围找下标
NSRange range = NSMakeRange(0, 2);
[muArray subarrayWithRange:range];
2.6删除可变数组中的元素
2.6.1 通过元素删元素
[muArray removeObject:
"2"];
2.6.2通过下标删元素
[muArray removeObjectAtIndex:0];
2.7代替数组的元素
[muArray replaceObjectAtIndex:1 withObject:
"me"];
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"};
第二种方式:NSDictionary *diction1 = [NSDictionary dictionaryWithObject:
"nv" forKey:
"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);
}
2.6.3给字典的键请求枚举器
NSEnumerator *enumDict = [dictTest keyEnumerator];
for (id key in enumDict) {
NSLog(
"key:%
",key);
}
四、结构体
1.自定义的结构体,struct是结构体的关键字 birthday是自定义的结构体的名字 date是自定义结构体birthday的一个变量。year、 month、day是自定义结构体birthday的参数
struct birthday {
int year;
int month;
int day;
};
struct birthday date = {2015,12,14};
NSLog(
"今天是:%i年%i月%i日",today.year,today.month,today.day);
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是结构体类型的变量名
       NSPoint point = NSMakePoint(0, 0);
       point.x = 10;
       point.y = 20;
       NSLog("%.2f  %.2f",point.x,point.y);
       NSPoint pointI = {2,3};
       NSLog(
"%.2f %.2f",pointI.x,point.y);[/code]
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;
      NSArray *array =
[number,@1,@YES];
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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐