Foundation-常用结构体
复习
void test(){
struct Date{
int year;
int month;
int day;
};
struct Date d={2015,5,14};
d.day=6;
}
void test1(){
typedef struct Date{
int year;
int month;
int day;
}MyDate;
MyDate d={2015,5,14};
}
在Foundation/NSRange.h中对NSRange的定义
typedef struct _NSRange{
NSUInteger location;//NSInteger unsignlong
NSUInteger length;//NSInteger unsignlong
}NSRange;
作用
这个结构体用来表示事物的一个范围,通常是字符串里面的字符范围或者集合里的元素范围
location表示该范围的其实位置
length表示该范围内所含元素的个数
“I love oc” 的love可以用location为2 length为4的范围表示。
创建方法
1直接给成员赋值
NSRange range;
range.location=2;
range.length=4;
2用c语言聚合结构赋值机制
NSRange range={2,4};
或者NSRange range={.location=2,.length=4 };
3Foundation 框架提供一种快捷函数
NSRange range=NSMakeRange(2,4);
NSLog(@"locaton is:%zi",range.location);
NSLog(@"length is:%zi",range.length);
//快速打印
NSString *str=NSStringFromRange(range);//把结构体变成字符串
NSLog(@"%@",str);//{2,4} %@ 是OC对象
NSPoint //代表一个点 一个位置 定义
typedef CGPoint NSPoint ;
struct CGPoint{
CGFloat x;
CGFloat y;
};
void point(){
NSPoint p;//CGPoint same
p.x=10;
p.y=10;
//快速创建
p=NSMakePoint(10,9);
p=CGPointMake(10,9);//CG is CoreGraphics CF->CoreFoundation NS->NextStep
//CG most common
//快速打印
NSString *str=NSSStringFromPoint(p);
NSLog(@“%@”,str);
}
NSSize definition
NSSize=CGSize
struct CGSize{
CGFloat width; //CGFloat->CGFLOAT TYPE->double
CGFloat height;
};
void size(){
NSSize size;//CGSize
size.width=100;
size.height=90;
size=NSMakeSize(100,90);
size=CGSizeMake(90,100);
NSString *str=NSStringFromSize(size);
NSLog(@"%@",str);
}
NSRect definition both存储尺寸和位置
NSRect=CGRect
struct CGRect{
CGPoint origin;
CGSize size;
}
void rect(){
NSRect rect;
//rect.origin.x=10;
//rect.original
//NSPoint point=CGPointMake(20,30);
//NSSize size=CGSize(40,50);
//rect=NSMakeRect(point,size);//没说可不可以
//rect=NSMakeRect(10,20,100,150);
//rect=CGRectMake(10,20,100,150);
NSString *str=NSStringFromRect(rect);
NSLog(@"%@",str);
}
Foundation-常用结构体的更多相关文章
- 八、Foundation -常用结构体
一.NSRange 在foundation/NSRange.h中对NSRange的定义 typedef struct _NSRange{ NSUInteger location; NSUInteger ...
- 从头开始-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; ...
随机推荐
- php 配置微信公众号
首先你要在微信公众号官网申请一个公众号,然后登录进去 在网页的左下方找到开发的基本配置 就可以开始配置服务器下面的东西了 点击打开成这个样子的 就是一些参数,url填写你自己服务器的具体地址就好了,我 ...
- docker网络相关
1.网卡有namespace的概念,不同的俩个namesp之间的网卡不能直接通信 为了俩个namespace的网卡相互通信,可以通过veth pair(一对)来实现.不同容器之间,便是通过veth p ...
- el-table表格错误问题
.el-table--border th.gutter:last-of-type { display: block!important; width: 17px!important; } 如果不行,则 ...
- stm32 i2c eeprom 24C02
电路图 相关文章:http://blog.csdn.net/zhangxuechao_/article/details/74936798 举例 #define i2c_scl PBout(10) #d ...
- 1.Java集合-HashMap实现原理及源码分析
哈希表(Hash Table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常 ...
- GC案例
FGC----jmap -histo:live导致 线上某服务的老年代配置了CMS,但却在gc.log发现连续Full GC的问题.JVM参数配置如下: -XX:+UseCMSInitiatingOc ...
- 使用 Xtrabackup 在线对MySQL做主从复制
1. 说明 1.1 xtrabackup mysqldump对于导出10G以下的数据库或几个表,还是适用的,而且更快捷.一旦数据量达到100-500G,无论是对原库的压力还是导出的性能,mysqldu ...
- 用cef Python打造自己的浏览器
背景 项目需要做一个客户端的壳,内置浏览器,访问指定 的url 采用技术 python3.5 cefpython https://github.com/cztomczak/cefpython#inst ...
- zookeeper:2
单机环境下安装: 下载地址:http://apache.fayea.com/zookeeper/stable/ 解压zookeeper :tar -zxvf zookeeper-3.4.10.tar. ...
- PAT Advanced 1008 Elevator (20 分)
The highest building in our city has only one elevator. A request list is made up with N positive nu ...