想要使用Foundation框架中的数据类型,需要包含<Foundation/Foundation.h>框架
一、NSRange结构体
1、结构体内容
//NSUInteger:unsigned long
2、变量表示方式:
例:NSString *str = @"i love oc";
表示1:NSRange r1 = {2, 4};//不用
表示2: NSRange r2 = {.location = 2, .length = 4};//不用
表示3: NSRange r3 = NSMakeRange(2, 4);//掌握
3、查找某个字符串在str中的范围(如果找不到,length=0,location=NSNotFound)//NSNotFound整数为-1
NSRange range = [str rangeOfString:@"ve o"];
NSLog(@"loc = %ld,length = %ld", range.location, range.length);
二、NSPoint(CGPoint)
1、结构体内容
//CGFloat等于double
2、表示方式
表示1:CGPoint p1 = NSMakePoint(10,10);
表示2:NSPoint p2 = CGPointMake(10,10);//最常用
3、NSSize方法同上。
表示:NSSize s1 = CGSizeMake(100, 50);
NSSize s2 = NSMakeSize(100, 50);
CGSize s3 = NSMakeSize(100, 50);
4、CGRect/NSRect(CGPoint CGSize)
表示1: CGRect r1 = CGRectMake(0, 0, 100, 50);
表示2: CGRect r2 = {{0,0},{100,50}};
表示3: CGRect r3 = {p1,s2};
表示4: CGRect r4 = {CGRectZero,CGSizeMake(100, 50)};//CGRectZero 等于 CGPointMake(0, 0)
5、将结构体转为字符串 //CGSizeZero、CGRectZero同上
NSString *str = NSStringFromPoint(p1);
NSString *str = NSStringFromSize(s1);
6、比较两个点的位置是否相同
BOOL b = CGPointEqualToPoint(CGPointMake(10, 10),CGPointMake(10, 20));
其他常用函数如下:使用这些函数的前提是添加CoreGraphics.h框架。