Foundation框架下的结构体
来源:互联网 发布:c语言void什么意思 编辑:程序博客网 时间:2024/04/26 07:47
Foundation框架是学习iOS 和Mac开发的最基本的框架之一,对于有C语言基础的学者来说非常容易学习,他在很多方面都和C语言相似,而且它是进一步学习OC语言的基础。下面就有我给大家讲述我的Foundation框架学习经验。
从结构看看结构
以下是Foundation框架中常用的结构体,大家可以发现有的组每组结构体中都有两个,其实他们的实都是一样的.只不过是使用了一次typedef给结构体起了一个别名,他们所表达的意思完全一样。比如OC中有一种CGFloat类型数据,我们点进他的头文件,会发现它其实是double类型数据经过typedef的别名。
NSRange
表示范围的结构体从第location个开始取,连续取length个,包含两个CGFloat类型成员
变 量,loaction 和lengthtypedef struct _NSRange { NSUInteger location; NSUInteger length;} NSRange;
NSPoint CGPiont
表示屏幕上一个点的坐标,包含两个CGFloat类型成员变量,即坐标的X和Ystruct CGPoint { CGFloat x; CGFloat y;};typedef CGPoint NSPoint; // NSPoint 的定义
表示大小或尺寸的结构体,包含两个CGFloat类型成员变量,矩形的长和宽,
struct CGSize { CGFloat width; CGFloat height;};typedef struct CGSize CGSize;typedef CGSize NSSize; // NSSize 的实现
- NSRect CGRect
表示一个矩形,包两个结构体,CGPoint 和 CGSize ,CGPoint 表示矩形左上角的坐标,
CGsize表示矩形的长和宽。
struct CGRect { CGPoint origin; CGSize size;};typedef struct CGRect CGRect;typedef CGRect NSRect;
下面是一个例证:
创建结构体
我们以NSPoint举例:
使用最原始的初始化方法,就是C语言的,按顺序赋值
NSPoint point = {2,3};
使用点赋值
NSPoint point = {0};point.x = 3;point.y = 2;
也是一种点语法
NSPoint point3 = {.y = 3 , .x = 2};
使用OC提供的方法 推荐使用这种方法去构建结构体
NSPoint point4 = NSMakePoint(2, 3);CGPoint point5 = CGPointMake(2, 3); // 其实这两种方法可以混用,不会错误// 你也可以这么写NSPoint point = CGPointMake(2, 3);
- 从字符串中获得
NSString *string = @"(2,3)";
NSPoint point = NSPointFromString(string);
小结
结构体常用函数:(依赖框架CoreGraphics(定义位置) Foundation框架中声明了)
- CGPointEqualToPoint(比较两个点是否相同)
- CGSizeEquealToCGSize
- CGRectEqualToCGRect
- CGRectContaintsPoint(是否包含某个点) 判断触摸点是否在视图(或子控件)上
一些特殊的结构体
- CGPointZero // 原点
- CGSizeZero 特殊的size
- CGRectZero 特殊的矩形
结构体中CG 和 NS 两大类结构体
CG结构体可以跨平台,在UI设计常用
0 0
- Foundation框架下的结构体
- Foundation框架基础 常用的结构体
- Foundation框架学习-结构体
- Foundation框架—结构体
- Foundation框架中的结构体
- Foundation框架—结构体
- Foundation框架之结构体
- Foundation框架—结构体
- Foundation框架—结构体
- Foundation框架—结构体
- OC中Foundation框架的结构体和字符串
- 19-OC中Foundation下的结构体使用
- Foundation框架之结构体初识。
- Foundation框架之常用结构体
- OC---Foundation框架_-结构体_NSRange
- Foundation框架: 1.常用结构体 - NSRange
- 黑马程序员------Foundation框架------结构体
- Foundation框架—结构体、NSString
- 基于PhalApi的DB集群拓展 V0.1bate
- 百度echarts后台Java封装小实例
- 线程1: i++; i++; 线程2: i+=2; 的问题 (2013年某公司笔试题目)
- 给你的JAVA程序配置参数(Properties的使用)
- Content-disposition
- Foundation框架下的结构体
- 单链表的的逆置(带头结点)
- 文件一些常用搜索命令
- poj 3181 Dollar Dayz dp 完全背包
- C#中WebBrowser控件的版本问题
- C语言实现任何文件的加密解密
- 数据挖掘 R VS Python
- C语言实现链表之单向链表(一)头文件
- 对java中静态初始化块的理解