复习

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-常用结构体的更多相关文章

  1. 八、Foundation -常用结构体

    一.NSRange 在foundation/NSRange.h中对NSRange的定义 typedef struct _NSRange{ NSUInteger location; NSUInteger ...

  2. 从头开始-07.Foundation框架常用结构体

    一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1.  基本使用: //NSRa ...

  3. foundation框架—结构体

    Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...

  4. Objective-C:Foundation框架-结构体

    在Foundation中定义了很多常用结构体类型来简化我们的日常开发,这些结构体完全采用Objective-C定义,和我们自己定义的结构体没有任何区别,之所以由框架为我们提供完全是为了简化我们的开发. ...

  5. 李洪强iOS开发之Foundation框架—结构体

    Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...

  6. Foundation框架 - 结构体

    一.基础知识 如果要想使用 Foundation 框架的数据类型,那么包含它的主头文件就可以了.即 #import <Foundation/Foundation.h> 补充: Core F ...

  7. iOS Foundation框架简介 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  8. iOS Foundation框架 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  9. [OC Foundation框架 - 1] 常用结构体

    底层封装是使用了typedef定义的结构体 typedef struct _NSString{ xxx xxx } NSString;   1. NSRange 结构体 #注意结构体不是对象 3种定义 ...

  10. Foudation框架之一些常用结构体和常用类

    表示范围作用的结构体:NSRange:       有三种方式创建新的NSRange: 1.NSRange range:            range.location = 17;         ...

随机推荐

  1. arcgis for android100.x 禁止地图旋转

    by 蔡建良2019-5-16 关键类: com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener DefaultMapVie ...

  2. (六)CXF之自定义拦截器

    一.需求分析 客户端在调用服务端的方法时,需要进行用户名和密码验证.此时分为: 客户端请求的时候,要发送用户名密码到服务端 服务端检验用户名密码. 二.案例 前提:本章案例是基于前一章节的例子进一步讲 ...

  3. 改善C#程序的方法

    写在开头: http://www.cnblogs.com/luminji    157个建议_勘误表 一:属性 属性和方法一样.也可以是virtual和abstract. 条款2:运行时常量(read ...

  4. py datetime

    python datetime模块strptime/strptime format常见格式命令- [python]2011-12-23   版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本 ...

  5. java jdk1.8 API

    里面有 中英文 jdk 1.8 API    还有 jdk1.6 和1.7 英文 API 链接:https://pan.baidu.com/s/1tchABVX7htJCaO3quENP1g提取码:y ...

  6. springboot启动流程(十)springboot自动配置机制

    所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 正文 在第七篇文章中我们了解到,refresh过程将会调用ConfigurationClass ...

  7. springboot2.0介绍1

    SpringBoot 一. Spring介绍 1.1.SpringBoot简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得 ...

  8. U盘不能复制4G以上的单个文件如何处理?

    制作好雨后清风U盘启动盘后,有朋友在将雨后清风系统镜像文件拷贝传输至U盘时,会发现U盘提示文件过大,无法进行传输,但是U盘的剩余存储空间明显还足够,这是怎么回事呢? 其实这是U盘文件系统格式的原因,如 ...

  9. [Python][pythonchallenge][TBC]古老的python在线挑战赛,很有意思 (C0-C4)

    预计阅读时间:15分钟 背景:搜索资料时候偶然发现的,很有意思,每一关都覆盖了很多知识点 Python版本:3.0 Talking is cheap,show me the code 主页: http ...

  10. Linux 02 Linux基本概念及操作

    基本echo "hello word"  输出 hello wordtouch file         创建文件名为file 常用快捷键TAB:在忘记命令时,可以用来补全命令Ct ...