国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

Objective-C中常用的結構體NSRange,NSPoint,NSSize(CGSize),NSRect實例分析

2020-01-26 15:28:11
字體:
來源:轉載
供稿:網友

本文以實例詳細描述了Objective-C中常用的結構體NSRange,NSPoint,NSSize(CGSize),NSRect的定義及用法,具體如下所示:

1、NSRange:

NSRange的原型為

typedef struct _NSRange {NSUInteger location;NSUInteger length;} NSRange;

NSMakeRange的函數:

NS_INLINEz是內聯函數

typedef NSRange *NSRangePointer;NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {NSRange r;r.location = loc;r.length = len;return r;}

使用方法:

//NSRange表示的是范圍NSRange range;range.location = 18;range.length = 34;NSLog(@"location is %zi",range.location);NSLog(@"length is %zi",range.length);//快速創建range = NSMakeRange(8, 10);NSLog(@"location is %zi",range.location);NSLog(@"length is %zi",range.length);//NSStringFromRange將上面的結構體轉化成字符串類型,打印出來NSString* str1 = NSStringFromRange(range);//%@是一個OC對象,range代表的是一個結構體,str是一個OC對象NSLog(@"rang is %@",str1);

2、NSPoint:

NSPoint的原型:

struct CGPoint {CGFloat x;CGFloat y;};

NSMakePoint函數:

NS_INLINE NSPoint NSMakePoint(CGFloat x, CGFloat y) {NSPoint p;p.x = x;p.y = y;return p;}

CGPointMake函數:

CGPointMake(CGFloat x, CGFloat y){CGPoint p; p.x = x; p.y = y; return p;}

使用方法:

//NSPoint指的是位置NSPoint point;//給結構體里面的點進行賦值point.x = 10;point.y = 10;//快速創建點point = NSMakePoint(10, 18);//常見的是CGPointMake創建點的函數point = CGPointMake(29, 78);NSString* str2 = NSStringFromPoint(point);NSLog(@"point is %@",str2);

3、CGSize:

CGSize的原型:

struct CGSize {CGFloat width;CGFloat height;};

NSMakeSize函數:

NS_INLINE NSSize NSMakeSize(CGFloat w, CGFloat h) {NSSize s;s.width = w;s.height = h;return s;}

CGSizeMake函數:

CGSizeMake(CGFloat width, CGFloat height){CGSize size; size.width = width; size.height = height; return size;}

使用方法:

NSSize size;  size.width = 100;size.height = 12;size = NSMakeSize(12, 12);size = CGSizeMake(11, 11);NSString* str3 = NSStringFromSize(size);NSLog(@"%@",str3);

4、CGRect:

CGRect的原型:

struct CGRect {CGPoint origin;CGSize size;};

CGRectMake的函數:

CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height){CGRect rect;rect.origin.x = x; rect.origin.y = y;rect.size.width = width; rect.size.height = height;return rect;}

NSMakeRect函數:

NS_INLINE NSRect NSMakeRect(CGFloat x, CGFloat y, CGFloat w, CGFloat h) {NSRect r;r.origin.x = x;r.origin.y = y;r.size.width = w;r.size.height = h;return r;}

使用方法

//既包含了尺寸大小和位置NSRect rect;rect.origin.x = 12;rect.origin.y = 14;rect.size.width = 12;rect.size.height = 15;//快速創建方法rect = CGRectMake(12, 12, 12, 12);rect = NSMakeRect(11, 11, 11, 11);//轉化成字符串打印出來NSString* str5 = NSStringFromRect(rect);NSLog(@"rect is %@",str5);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 靖州| 宁武县| 吴堡县| 临漳县| 漳州市| 新干县| 通化市| 大邑县| 额尔古纳市| 孟津县| 喀什市| 萨迦县| 当涂县| 宜宾县| 县级市| 米林县| 印江| 景泰县| 德昌县| 卢氏县| 临安市| 广宗县| 明溪县| 景东| 繁昌县| 中阳县| 正宁县| 都匀市| 财经| 邵阳县| 滨海县| 镇远县| 南和县| 镇巴县| 临海市| 元江| 扬中市| 宜川县| 万州区| 且末县| 长兴县|