iOS複習筆記13:常用結構體
都需要包含Foundation.h標頭檔
CG:CoreGraphics架構簡稱,CG開頭的在Foundation架構中有聲明,但是沒有實現
NS:NextStep
一 NSRange範圍
1 定義:
typedef struct _NSRange{NSUInteger location;NSUInteger length;}NSRange;
2 樣本:
NSString* str = @"I love OC";// NSRange* rg = {2, 4};// NSRange* rg = {.location = 2, .length = 4};NSRange* rg = NSMakeRange(2, 4);NSRange* r = [str rangOfString:@"love"];// "love"字元,從2開始,長度為4NSRange p0 = NSRangeZero;// 判斷是否相等,返回bool值
二 NSPoint/CGPoint點
1 定義:
CGFloat即doubletypedef _NSPoint{CGFloat x;CGFloat y;}NSPoint;typedef NSPoint CGPoint;
CGPoint跨平台的
2 樣本:
// CGPoint p = CGMakePoint(10, 10);CGPoint p = CGPointMake(10, 10);NSLog(@"%@", NSStringFromPoint(p));CGPoint p0 = CGPointZero;CGPointEqualToPoint(p, p0);// 判斷是否相等,返回bool值
三 NSSize/CGSize
1 定義:
typedef struct _NSSize{CGFloat x;CGFloat y;}NSSize;typedef NSSize CGSize;
2 樣本:
CGSize sz = CGSizeMake(10, 10);NSLog(@"%@", NSStringFromSize(sz));CGSize sz0 = CGSizeZero;CGSizeEqualToSize(sz, sz0);// 判斷是否相等,返回bool值
四 NSRect/CGRect矩形
1 定義
typedef struct _NSRect{NSPoint origin;NSSize size;}NSRect;typedef NSRect CGRect;
2 樣本
CGRect r = CGRectMake(0, 0, 100, 50);NSLog(@"%@", NSStringFromRect(r));CGRect r0 = CGRectZero;CGRectEqualToRect(r, r0);// 判斷是否相等,返回bool值CGRectContainsPoint(r, p);// 判斷矩形是否包含點,返回bool值