复习

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. 三种TCP协议聊天室实现

    一 概述 使用Java的IO实现聊天室 使用Java的NIO实现聊天室 使用Netty实现聊天室 二 IO聊天室 1 服务器 public class IOServer { public static ...

  2. 通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了?

    原文:通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了? 问题就是,一个很简单的语句,在不同的服务器上执行,所需要的时间相差很大,特别提到在性能差的服务器上反而快,在性能 ...

  3. pycharm2019.2永久激活

    Pycharm2019.2永久激活Pycharm官网在不到两个月内与2019.7.24更新到最新版本pycharm2019.2,不可说更新不快,对于"喜新厌旧"的我怎能错过新版本呢 ...

  4. springboot mvc自动配置(一)自动配置DispatcherServlet和DispatcherServletRegistry

    所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 springboot的自动配置基于SPI机制,实现自动配置的核心要点就是添加一个自动配置 ...

  5. mysql5.7解压包安装教程

    下载mysql5.7解压包Download MySQL Community Server,解压文件.https://dev.mysql.com/downloads/mysql/ 步骤1:新建my.in ...

  6. 面试题之String s="a"+"b"+"c"+"d";

    今天遇到了一个面试题的选择,我当时真的没怎么在意,其实挺好玩的. 1.这条语句String s="a"+"b"+"c"+"d&qu ...

  7. RAII Theory && auto_ptr

    RAII(Resource Acquisition is Initialization),也称为"资源获取即初始化",是C++语言的一种管理资源,避免泄露的惯用法. C++标准保证 ...

  8. dfs · leetcode-22.产生括号组?

    题面 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  9. 周伯通的空明拳,米诺斯的星尘傀儡线,SAP Kyma的Serverless

    Jerry一直认为,金庸的<天龙八部>里的武学建模已经有点脱离传统武侠小说的范畴了,像已经走上玄幻道路的灵鹫宫"八荒六合唯我独尊功",以及杀伤力足够能被视为现代激光武器 ...

  10. SAP Marketing Cloud的Contact导入配置和数据合并原理

    SAP很多系统的主数据都支持从外部系统导入,SAP Marketing Cloud也是如此,contact主数据可以来自Hybris Commerce,CRM,ERP或者Twitter,Faceboo ...