Foundation框架作为一个最基础的框架,是其他所有ios框架的基础。而在Foundation框架中,结构体运用的很多。下面我就结构体做一个简单的介绍;
常用的有以下几种:
1、NSRange
1)定义:NSRange是一个用来表示范围的结构体,它在Foundation里面实质上是这么定义的;
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
这表明它是来确定一个对象的范围。
2)、使用
先看个例子:
#import <Foundation/Foundaion.h>
int main()
{
//查找”my name is jonk“中is的位置
NSString *str = @"my name is jonk";
// 查找is的范围
NSRang range = [str rangeOfString:@"is"];
//打印出来
NSLog(@location = %ld,length = %ld,rang.location,rang.length);
return 0;
}
从上面的例子中,我们可以看出,rangeOfString是一个查找范围的方法,来查找出传入字符的位置,比如例子中is的位置。当然还有一个我们已知位置来确定用来查找该位置的字符,它就NSMakeRang(3,4),例如,NSArange r = NSMakeRange(3,4)就表示@" name".如果(3,4)没有在范围内那么打出来的就是0.
2、NSpoint
1)、定义:NSPoint 用来表示一个点坐标的函数,它哈有另一种形式(常用的)CGPoint。
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPOint;
从上面的代码中我们发现它就是一个在一个坐标中确定一个点位置的函数。
1)、使用方法
在IOS开发中我们常用CGPiont。例如,CGPoint p =NSMakePoint(4,5) ,表示我们坐标系统中的(4,5),这个点。还有另一个表达,NSPoint p =CGPointMake(4,5)。
3、NSSize
1)、定义:表示一个图形的长和高,先看以下代码
struct CGSize {
CGFloat wideth;
CGFloat height;
};<pre name="code" class="objc" style="color: rgb(51, 51, 51); font-size: 14px; line-height: 26px;">typedef struct CGSize CGSize;
从上面的代码中我们发现它就是一个确定的图形。
2)、使用方法
在IOS开发中我们常用CGSize。例如,CGPoint p = NSMakeSize(3,4),表示我们坐标系统中一个宽3,长4的图形。它也还有另一个表达式,NSString = CGSizeMake(3,4).
4、CGRect
1)、定义:CGRect机构在屏幕上定义的是一个矩形。他包括Ella远点(rect。oringin)和大小(rect.size)。
2 )、使用
一般这样表示;CGRect r = (CGRectMake (CGPiont,CGSize)),这样决定了屏幕上的一个图形。