结构体:NSRange
NSRange有两个成员
1:location
2:length
给成员赋值的方式是利用函数的方式
NSRange r = NSMakeRange(2,3);
现在都用上面的方式给结构体变量赋值
NSString *str = @”I love you”;
查找某个字符串在str中的位置
NSRange r =[str rangeOfString:@”love”];
NSLog(@”loc =%ld,length = %ld”,r.location,r.length);
//如果找不到,length = 0,location = 常量(NSNotFound)
结构体:NSPoint = CGPoint
两个值:x y
CGFloat = double
CGPoint p1 =NSMakePoint(10,10);
NSPoint p2 =CGPointMake(10,10)//这个是开发中最常用的赋值方式
结构体:NSSize\CGSize
两个值:宽度width和高度height
CGSize p1 =NSMakePoint(10,10);
NSSize p2 = CGPointMake(10,10)
结构体:NSRect\CGRect
内部包含其他两个结构体
1:NSPoint origin
2:NSSize size
//相当于拥有一个UI元素的位置
CGRect MyRect(CGFloat x,CGFloat y,CGFloat width,CGFloat height)
{
CGRect rect;
Rect.origin.x = x;
Rect.origin.y = y
Rect.size.width = width;
Rect.size.height = height;
Return rect;
}
查看结构体内容一般是吧结构体转成字符串输出
NSStringFrom(结构体类型)(结构体变量名)
NSStringFromSize(p)
NSStringFromRect(p)
NSStringFromPoint(p)
CGPointZero = CGPointMake(0,0);
NSString
1:NSString,不可变字符串
2:MutableString,可变字符串
字符串的创建:
1: NSString *s1 = @"jack";
2:NSString *s2 = [[NSString alloc] initWithString:@"jack"];
3: NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d",10];
4: NSString *s4 = [[NSString alloc] initWithUTF8String: "jack"];
5:NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"文 件绝对路径" encoding:NSUTF8StringEncoding error:Nil];
//URL :资源路径
// 协议头://路径
// file://
// ftp://
NSURL *url = [[NSURL alloc] initWithString:@"文件协议头+绝对路径"];
6: NSString *s6 = [NSString alloc]initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil
NSMutableString的一些方法:(可变字符串)
appendString:@“被拼接的字符串”。
[str1 appendString:@”100”]//将100这个字符串拼接到str这个字符串后面
字符串的删除:
NSRange range = [str1 rangeOfString:@”is”]//查找字符串“is”在str1中的位置。
deleteCharactersInRange:range //删除某位置上的字符串
NSArray
//oc数组只能存放oc对象,不能存放非oc对象类型
NSArray:不可变数组 //数组元素不可变
NSMutableArray:可变数组
创建一个NSArray数组:
NSArray *array = [NSArray array];
//将一个字符串对象存放到数组中
NSArray *array2 =[NSArray arrayWithObject:@”jack”];
//将很多对象存放到数组中。注意最后的nil不能省略,他是数组结束的标志。
NSArray *array2 =[NSArray arrayWithObjects:@”jack”…….,nil];
NSArray *array = @[对象1,对象2…….]; //快速存放对象的方式
查看数组的个数[array count]或者array.count //是利用get方法获得的数值
访问数组中的每一个元素:
1:[array objectAtiNdex:1]//拿出某个位置的字符串
2:array[1];//访问某个位置上的字符串
数组的快速遍历:
1:for(id obj in array)
{
NSUInteger i = [array indexOfObject:obj];//返回obj对象在数组中的位置。
NSLog(@”%ld---%@”,i,obj);
}
2:利用block的方式
[array enumerateObjectUsingBlock:
^(id obj,NSUItegeridx,BOOL *stop)
{
if(idx ==1)
{
*stop = YES;
}
NSLog(@”%ld--%@”,idx,obj);
}];
//*stop是指针,可以用来停止遍历。
3:利用一般的for循环进行遍历。
NSMutableArray:可变数组
NSMutableArrayarray = [NSMutableArray array];
数组添加元素:
[array addObject:id];//给数组增加元素的方法
删除元素:
[array removeAllObjects];//删除数组中所有元素
[array removeObject:id];//删除指定元素
[array removeObjectAtIndx:idx];//删除指定角标元素
注意:NSArray快速赋值的方法@[id….]返回的是不可变数组,所以不能用可变数组来接收