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; ...
随机推荐
- (七)装配Bean(1)
针对给接口提供哪一个具体的实现,也就是装配哪一种具体的实现bean,在Spring中提供了多种方式,主要包括3种: 一.隐式的bean发现机制和自动装配(自动化装配bean) 二.在Java类中进行显 ...
- datagrid使用和文字超出tip提示
function LoadTable(queryData) { $("#eventInfoTable").datagrid({ ...
- ASP.NET Core 入门(1)(搭建环境CentOS)
一.CentOS 7 安装 下载CentOS http://isoredirect.centos.org/centos/7/isos/x86_64/ 选择其中下载即可. 下载完成后打开vmware准 ...
- zTree插件实现菜单树
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...
- Visual Studio快捷键使用
1. 注释相关 添加注释:Ctrl + K,C 取消注释:Ctrl + K,U 2. 格式化相关 格式化代码:Ctrl + K,D 3. 智能提示相关 Ctrl + J
- 简单实现app使用PC图片
提一个很人性化的需求: 在自己的app里使用PC里的图片. 关键点:传输.怎么把图片从PC导入自己的APP. 因为iOS的封闭性,一般用户不能很方便把图片导入手机相册.笔者稍微想了下,实现功能其实也有 ...
- shell for 循环简单用法
for循环:固定有限次数循环,工作中for使用最多. 语法1: for 变量名 in 变量取值列表 do 指令… done 学习方法:记住下面的内容 for 男人 in 世界 do if [ 有房 ] ...
- golang GC(二 定位)
前面已经介绍过golang的GC算法.要是我们的程序在运行是因为GC导致行能下降,该如何定位呢?说实话,工作中由于对go的gc问题不重视,根本没考虑过这个问题,今天特意来补补课.
- lvs+keepalived+application部署(只使用两台机器)
目前大家用LVS+Keepalived + APP 架构都是 2台LVS +Keepalived 然后后端跟着 应用设备 然而针对小客户来说, 2台LVS平常没什么压力 还有一台备着(虽然可以跑双主 ...
- xargs 使用详解
参考转载:https://www.cnblogs.com/f-ck-need-u/p/5925923.html#auto_id_12 xargs 作用:将管道传输过来的stdin进行处理(分割.分批) ...