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; ...
随机推荐
- 扩展kmp入门+比赛模板
https://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html 参考了这个ppt 理解起来还是有点费劲的(还是推荐一下这个课件 里面概念和思路给的 ...
- 使用IP代理初体验
在很多时候我们需要用到IP代理,比如爬虫.投票等 封IP是一种很常用的办法,所谓道高一尺.魔高一丈,IP代理应运而生 最简单的一段代码 static void Main(string[] args) ...
- [Vuex系列] - Actions的理解之我见
Actions如何定义的 恕小端不才,对Action的总结如下: Action 可以提交mutation方法,通过mutation来改变state Action 函数可以接收一个context对象,通 ...
- K2 BPM_北汽新能源业务流程管理信息系统建设思考_全球领先的工作流引擎
本文由CIO发展中心根据北汽新能源流程与IT总监刘伟霞在“亦庄CIO数字化转型探索——CIO发展中心亦庄分舵2019夏季论坛”活动中演讲整理. 在“亦庄CIO数字化转型探索——CIO发展中心亦庄分舵2 ...
- Vscode ftp
sftp的插件,作者是liximomo 安装插件: 在Vscode的商店中搜索sftp扩展 配置: 一般在开发项目时,总是有多个项目在同时开发.如果要为单一的项目配置的话,就需要打开此项目,快捷键ct ...
- 【已解决】项目加载失败,Web应用程序项目XX已配置为使用IIS
这个解决方法是我在网上参考了很多方法都不行,因为昨天还好好的,今天就不行,那跟项目没多大关系,跟环境有关. 解决方案: 本地iis和vs自带的iis冲突了,默认用了本地的iis,我删掉本地的就可以了. ...
- linux服务器忘记密码操作
当重启镜像时候 看到这个界面的时候 按1 按1之后进入如下界面 红色区域有解释 按e是编译模式,我们按e OK 这里我们选择第二行按b 进入开发者模式,然后等待启动 然后更改密码
- Computer Vision_18_Image Stitching: Image Alignment and Stitching A Tutorial——2006(book)
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- smart_ptr之shared_ptr
智能指针的概念 c++11标准和boost都提供了智能指针的功能.智能指针是普通指针的封装,智能指针是一个对象,对象里面包含了原生指针.可以使用智能指针对象的get()方法可获得封装在里面的原生指针. ...
- deep_learning_Github_初学者教程
Github_link_from:https://github.com/lawlite19/MachineLearning_Python 机器学习算法Python实现 目录 机器学习算法Python实 ...