复习

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. (十一)mybatis之整合ehcache缓存

    一.二级缓存 大家都知道使用mybatis就要先获取sqlsessionfactory,继而使用sqlsession来和数据库交互,每次只需要使用sqlsession对象提供的方法就好,当我们需要第一 ...

  2. linux之find的使用

    基本语法 find [查找目录] [选项] [查找规则] [查找完后的操作] 即:find pathname -option -condition [-print -exec -ok …] 选项参数 ...

  3. JavaScript检测浏览器

    Detect Browser <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  4. @PostConstruct注解原理解析

    所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 正文 @PostConstruct注解使用简介 在了解一个东西的原理之前,我们得初步的懂得如何 ...

  5. vue拦截

    ```javascript import Vue from 'vue' import App from './App.vue' import router from './router' import ...

  6. DRDA

    在谈到分布式DB2数据时,有必要谈谈DRDA. DRDA代表分布式关系数据库体系结构. 它是由IBM开发的一种体系结构,它使关系数据能够在多个平台之间分布. 平台和平台都可以相互通信. 例如,一个DB ...

  7. DNS zone file

    zone file格式最初由Berkeley Internet Name Domain(BIND)软件包使用,但已被其他DNS server software广泛采用.它们中的一些(例如NSD,Pow ...

  8. Python For嵌套循环 图形打印X型 nested loop - 练习题答案

    上一篇:Python For嵌套循环 图形打印X型 nested loop - 练习题 上一篇留的Python For嵌套循环 图形打印X型练习题的答案. 由于网上很多嵌套循环都是C++语言写的,用P ...

  9. [Python] For 嵌套循环打印图形 nested loop-练习题答案

    前一篇:[Python] For 嵌套循环打印图形 nested loop-练习题 [python的for循环嵌套打印如下图形] 图形一: 输出结果: ******* ******* ******* ...

  10. Jmeter(一)非GUI模式压测(NON-GUI模式)结果解析TPS

    非GUI模式压测(NON-GUI模式)结果解析TPS 准备工作 从脚本已录制成功之后开始进行压测 安装Jmeter拓展插件 查看 Transactions per Second https://jme ...