复习

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. (七)装配Bean(1)

    针对给接口提供哪一个具体的实现,也就是装配哪一种具体的实现bean,在Spring中提供了多种方式,主要包括3种: 一.隐式的bean发现机制和自动装配(自动化装配bean) 二.在Java类中进行显 ...

  2. datagrid使用和文字超出tip提示

    function LoadTable(queryData) {             $("#eventInfoTable").datagrid({               ...

  3. ASP.NET Core 入门(1)(搭建环境CentOS)

    一.CentOS 7 安装 下载CentOS http://isoredirect.centos.org/centos/7/isos/x86_64/  选择其中下载即可. 下载完成后打开vmware准 ...

  4. zTree插件实现菜单树

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...

  5. Visual Studio快捷键使用

    1. 注释相关     添加注释:Ctrl + K,C     取消注释:Ctrl + K,U 2. 格式化相关     格式化代码:Ctrl + K,D 3. 智能提示相关     Ctrl + J

  6. 简单实现app使用PC图片

    提一个很人性化的需求: 在自己的app里使用PC里的图片. 关键点:传输.怎么把图片从PC导入自己的APP. 因为iOS的封闭性,一般用户不能很方便把图片导入手机相册.笔者稍微想了下,实现功能其实也有 ...

  7. shell for 循环简单用法

    for循环:固定有限次数循环,工作中for使用最多. 语法1: for 变量名 in 变量取值列表 do 指令… done 学习方法:记住下面的内容 for 男人 in 世界 do if [ 有房 ] ...

  8. golang GC(二 定位)

    前面已经介绍过golang的GC算法.要是我们的程序在运行是因为GC导致行能下降,该如何定位呢?说实话,工作中由于对go的gc问题不重视,根本没考虑过这个问题,今天特意来补补课.

  9. lvs+keepalived+application部署(只使用两台机器)

    目前大家用LVS+Keepalived + APP 架构都是 2台LVS +Keepalived 然后后端跟着 应用设备 然而针对小客户来说,  2台LVS平常没什么压力 还有一台备着(虽然可以跑双主 ...

  10. xargs 使用详解

    参考转载:https://www.cnblogs.com/f-ck-need-u/p/5925923.html#auto_id_12 xargs 作用:将管道传输过来的stdin进行处理(分割.分批) ...