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; ...
随机推荐
- 三种TCP协议聊天室实现
一 概述 使用Java的IO实现聊天室 使用Java的NIO实现聊天室 使用Netty实现聊天室 二 IO聊天室 1 服务器 public class IOServer { public static ...
- 通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了?
原文:通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了? 问题就是,一个很简单的语句,在不同的服务器上执行,所需要的时间相差很大,特别提到在性能差的服务器上反而快,在性能 ...
- pycharm2019.2永久激活
Pycharm2019.2永久激活Pycharm官网在不到两个月内与2019.7.24更新到最新版本pycharm2019.2,不可说更新不快,对于"喜新厌旧"的我怎能错过新版本呢 ...
- springboot mvc自动配置(一)自动配置DispatcherServlet和DispatcherServletRegistry
所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 springboot的自动配置基于SPI机制,实现自动配置的核心要点就是添加一个自动配置 ...
- mysql5.7解压包安装教程
下载mysql5.7解压包Download MySQL Community Server,解压文件.https://dev.mysql.com/downloads/mysql/ 步骤1:新建my.in ...
- 面试题之String s="a"+"b"+"c"+"d";
今天遇到了一个面试题的选择,我当时真的没怎么在意,其实挺好玩的. 1.这条语句String s="a"+"b"+"c"+"d&qu ...
- RAII Theory && auto_ptr
RAII(Resource Acquisition is Initialization),也称为"资源获取即初始化",是C++语言的一种管理资源,避免泄露的惯用法. C++标准保证 ...
- dfs · leetcode-22.产生括号组?
题面 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...
- 周伯通的空明拳,米诺斯的星尘傀儡线,SAP Kyma的Serverless
Jerry一直认为,金庸的<天龙八部>里的武学建模已经有点脱离传统武侠小说的范畴了,像已经走上玄幻道路的灵鹫宫"八荒六合唯我独尊功",以及杀伤力足够能被视为现代激光武器 ...
- SAP Marketing Cloud的Contact导入配置和数据合并原理
SAP很多系统的主数据都支持从外部系统导入,SAP Marketing Cloud也是如此,contact主数据可以来自Hybris Commerce,CRM,ERP或者Twitter,Faceboo ...