------- IOS培训、android培训、期待与您交流! --------
foundation框架中常见的结构有四种
NSrange
NSpoint\CGpoint
NSSize\CGSize
NSRect\CGRect
如果想要使用foundation框架中的所有结构体,要在文件的开始#import<Foundation/Foundation.h>。
NSRange的结构体形式如下
typedef struct _NS Range {
NSU Integer location;
NSU Integer length;
} NS Range;
NSRange的定义形式有以下几种
NSRange r1 = {2,4};
NSRange r2 ={.location = 2, .length = 4};
NSRange r3 = NSMakeRange(2, 5);
对于NSRange有个常用的功能就是查找,字符在字符串的位置。
NSString * str = @"i love you";
NSRange range = [str rangeOfString:@"love"];
NSString * str2 = NSStringFromRange(range);
NSLog(@"%@",str2);
对于打印一个range结构体,可以通过NSStringFromRange的方法来转换成一个字符串来打印
如果在字符串查找不到索要查找的字符串,那么返回的location的结果是NSNotfound,转换成int则为-1,对于length则结果为0;
但是我们经常使用都是以CG打头的结构体,因为这种结构体可以跨平台。这里以CGPoint作例子,CGrect和CGSize都与CGPoint类似。
struct CGPoint
{
GLFloat x;
GLFloat y;
};
CGPoint的几种定义方式如下
CGpoint point = {12,0 };
CGpoint point1 = NSMakePoint{12,0};
CGpoint point2=CGPointMake(12,0);
下面是结构体一些常用的函数
CGRectEqualToRect(<CGRect rect1>, <CGRect rect2>)
CGRectContainsPoint(<CGRect rect>, <CGPoint point>)
CGRectContainsRect(<CGRect rect1>, <CGRect rect2>)