——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
Foundation框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,使编程变的更容易清晰。在Foundation学习的过程中,主要对结构体、集合类加以了解。
一、结构体
1、NSRange
NSRange内部包含两个属性,Location与Length。
NSRange(location,length)
定义一个英文句子”i love you”,使用NSRange求出love的NSRange属性。
NSString *str = @”i love you”;
NSRange r = NSMakeRange(2,4);
//还可以使用NSRange r = {2,4};
也等价于NSRange r = {.location = 2, .length = 4};
//此处的点因为是在结构体中,所以并不是点语法,而是访问成员变量。
NSRange r = [str rangeOfRange:@”love”]; // 求love在i love you的位置。
如果要查找的字符串找不到,length默认返回0,location默认返回-1。
2、NSPoint
NSPoint内部包含double x,double y两个属性。
NSPoint(x,y)
NSPoint等价于CGPoint,也等价于 struct CGPoint。
NSPoint p1 = NSPointMake(10,20);也可以写为
NSPoint p1 = CGMakePoint(10,20);
3、NSSize
NSSize(width,height)
NSSize s = NSMakeSize(10,20);等价于
NSSize s = CGSizeMake(10,20);也等价于
CGSize s = NSMakeSize(10,20);
4、NSRect
NSRect内部包含了NSSize与NSPoint两个属性。
CGRect(CGPoint,CGSize)—>(x,y,width,height);
CGRect r = CGRectMake(0,0,10,10);
CGRect r = {CGPointZero, CGSizeMake(10,10)};
把结构体转换成字符串方便打印
NSString *str = NSStringFrommPoint(p1); //(10,20)
NSString *str1 = NSStringFromSeze(s); //(10,20)
NSString *str2 = NSStringFromRect(r); // {{0,0},{10,10}};
返回值Bool类型
CGPointEqualToPoint((),());
//某点是否与某点重叠
CGSizeEqualToSize((),());
// 某尺寸是否与某尺寸相同
CGRectContainPoint(CGRectMake(),CGPointMake());
//point是否包含于rect
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-