八、Foundation -常用结构体
一、NSRange
在foundation/NSRange.h中对NSRange的定义
typedef struct _NSRange{
NSUInteger location;
NSUInteger length;
} NSRange;
//typedef unsigned long NSUIntegr;
这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围
location表示该范围的起始位置
length表示该范围内所含的元素个数
三种方式创建一个NSRange变量
1、直接给成员赋值
NSRang range;
range.location = 8;
range.length = 3;
2、应用C语言的聚合结构赋值机制
NSRange range = {7,3};
或者 NSRange range = {.lcation = 8,.length = 3};
3、Foundation框架提供的一个快捷韩函数NSMakeRane
NSRange range = NSMakeRange(7,3);
二、NSPoint(CGPoint)位置
NSPoint p ;
p.x=10;
p.y=5;
快速创建方法
NSPoint p = NSMakePoint(2,10);
或者p = CGPointMake(2,10);
打印
NSString *str = NSStringFormPoint(p);
NSLog(@"%@",str);
三、NSSize(CGSize)宽度和高度
NSSize size;
size.width=100;
size.height=90;
size = NSMakeSize(90,100);
size =CGSizeMake(10,20);
打印
NSString *str = NSStringFormPoint(size) ;
NSLog(@"%@",str);
四。NSRect (CGRect) 包含了点,包含了宽度
sturct CGRect{
CGPotin origin;
CGSize size;
}
NSRect rect ; //CGRect rect;
rect.origin.x=10;
rect.origin.y=20;//不允许rect.origin={10,20}
rect.size.width =100;
rect.size.height=36;
快速创建
rect = NSMakeRect(10,10,80,80);
或者
rect = CGRectMake(10,10,23,34);
NSString *str = NSStringFormRect(rect) ;
八、Foundation -常用结构体的更多相关文章
- 从头开始-07.Foundation框架常用结构体
一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1. 基本使用: //NSRa ...
- foundation框架—结构体
Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...
- Objective-C:Foundation框架-结构体
在Foundation中定义了很多常用结构体类型来简化我们的日常开发,这些结构体完全采用Objective-C定义,和我们自己定义的结构体没有任何区别,之所以由框架为我们提供完全是为了简化我们的开发. ...
- 李洪强iOS开发之Foundation框架—结构体
Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...
- Foundation框架 - 结构体
一.基础知识 如果要想使用 Foundation 框架的数据类型,那么包含它的主头文件就可以了.即 #import <Foundation/Foundation.h> 补充: Core F ...
- iOS Foundation框架简介 -1.常用结构体的用法和输出
1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...
- iOS Foundation框架 -1.常用结构体的用法和输出
1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...
- [OC Foundation框架 - 1] 常用结构体
底层封装是使用了typedef定义的结构体 typedef struct _NSString{ xxx xxx } NSString; 1. NSRange 结构体 #注意结构体不是对象 3种定义 ...
- Foudation框架之一些常用结构体和常用类
表示范围作用的结构体:NSRange: 有三种方式创建新的NSRange: 1.NSRange range: range.location = 17; ...
随机推荐
- ogrinfo使用
简介 orginfo是OGR模块中提供的一个重要工具,用于读取地图文件中记录,可以指定筛选条件(按字段.sql.矩形范围) 使用方式 命令行参数 Usage: ogrinfo [--help-gene ...
- 案例分享:电信行业零售业务CRM架构
最近跟一个客户讨论销售领域的移动化需求,谈到了他们的零售业务系统的整体框架,觉得很有分享的必要. 这次聊到的客户是电信行业的巨头,说的是他们的零售业务.电信公司么,卖出去的无非是设备和服务.大体的业务 ...
- vc6.0连接mysql数据库
一.MySQL的安装 Mysql的安装去官网下载就可以...最新的是5.7版本.. 二.VC6.0的设置 (1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...
- Android Studio 使用小技巧
1.如何打开设置界面? File --> Settings 快捷键 Ctrl + Alt + s 2.修改Java文件字体大小 ? File --> Settings --> E ...
- Sublime Text 最佳插件列表(转)
Package Control 安装方法 首先通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴相应的 Python 安装代码. Sublime Tex ...
- 【原/转】iOS中非常强大的过滤器:NSPredicate
在APPLE的官方Demo:UICatalog中实现UISearchBar模糊搜索功能是这么做的: - (void)viewDidLoad { [super viewDidLoad]; self.al ...
- animation of android (3)
视图动画,只有view可以使用. 在android3.0以后,属性动画. ValueAnimation 可以记录属性变化的过程,所以他的对象是任何object. 所以ValueAnimation 的真 ...
- mysql高可用之LVS + KEEPALIVE + MYSQL
1.架构图 注意 (一) Mysql需要把bind-address的配置去掉,否则无法实现虚拟ip访问 (二) 关闭所有linux防火墙:/sbin/iptables –F(可能没用) (三) ...
- node.js之看懂package.json依赖库版本控制
金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉.node.js依赖库的版本控制 一般node.js项目会依赖大量第三方module, 那么如何控制modu ...
- openswitch db files
http://openvswitch.org/support/dist-docs/ovsdb-tool.1.html FILES The default db is /etc/openvswitch/ ...