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; ...
随机推荐
- substr函数索引创建测试
技术群里小伙伴,沟通说一条经常查询的SQL缓慢,单表SQL一个列作为条件,列是int数值类型,索引类型默认创建. 一.SQL文本substr函数索引创建测试 ,) nm1 ')需求,将上述SQL执行速 ...
- (九)Hibernate 的复合主键
一.什么是复合主键? 一张表的主键是由多个字段组成,这个主键就被称为复合主键. 主键是唯一确定某条记录的字段,比如公民的身份证号就是一个主键,因为由身份证号这个主键就可以确定 某个公民. 有一种 ...
- Java并发(思维导图)
1,线程状态转换 无限期等待: 限期等待: 线程生命流程: 2,实现方式 代码实现样例[三种方式]: package com.cnblogs.mufasa.demo2; import java.uti ...
- SQL logic error no such module: fts5 解决方案
因项目原因,需要使用SQLite的全文索引,用到了最新的fts5模块 但在咱们.net framwork中却会提示“SQL logic error no such module: fts5”:找不到f ...
- ant Windows下环境变量配置 安装 编译
下载 官网:[http://ant.apache.org/] 其他版本:[http://archive.apache.org/dist/ant/binaries/] 点击这个进入下载页面 Window ...
- [NOIP2018模拟赛10.20A]挂分报告
闲扯 先看看了B组,T1 ZROI刚好讲过一个性质原根一般很小的,直接枚举;T2一眼二分然后似乎状压 T3没看 然后上来A组题,T1 flow这名字...网络流?! T1题面非常的社会主义核心价值观, ...
- TCP的三次握手与四次挥手笔记
TCP的三次握手与四次挥手笔记 TCP Flags URG: 紧急指针标志 ACK:确认序号标志 PSH:push标志 RST:重置连接标志 SYN:同步序号,用于建立连接过程 FIN: finish ...
- sqlyog 如何导出建表语句
真傻了,这个问题弄了半天. 解决 点击表名后,在右侧的信息栏里面有啊: PS - 个人博客链接:sqlyog 如何导出建表语句
- Oracle中select 1和select *的区别
转自:https://www.linuxidc.com/Linux/2010-05/26202.htm 创建myt表并插入数据,如下: create table myt(name varchar2,c ...
- Signal Processing and Pattern Recognition in Vision_15_RANSAC:Performance Evaluation of RANSAC Family——2009
此部分是 计算机视觉中的信号处理与模式识别 与其说是讲述,不如说是一些经典文章的罗列以及自己的简单点评.与前一个版本不同的是,这次把所有的文章按类别归了类,并且增加了很多文献.分类的时候并没有按照传统 ...