Objective-C中一些有用的数据类型(Cocoa提供的)
2016-02-25 01:46
639 查看
一、范围
让博主带你们看看要认识的第一个结构体(struct)
这个结构体用来表示相关事物的范围,一般是字符串里的字符范围或数组里的元素范围。location字段存放该范围的起始位置,而length字段则是该范围内所含元素的个数。在字符串”We should learn Objective-C weill!”中,单词should可以用location为3,length为6的范围来表示。location还可以用NSNotFound这个值来表示没有范围,比如变量没有初始化。
创建新的NSRange有三种方式:
1、直接给字段赋值:
2、应用C语言的聚合结构赋值机制:
3、是Cocoa提供的一个快捷函数NSMakeRange():
使用NSMakeRange()的好处是你在任何能够使用函数的地方使用它,在方法调用中可以将其作为参数进行传递。
二、几何数据类型
用来处理几何图形的数据类型,它们的名称都带有CG前缀。
1、CGPoint表示的是笛卡尔平面中的一个坐标(x,y):
CGSize用来存储长度和宽度:
3、Cocoa提供了一个矩形数据类型,它由坐标和大小复合而成:
Cocoa也为我们提供了创建这些数据类型的快捷函数:CGPointMake()、CGSizeMake()和CGRectMake()。
在这里请容许博主举一些例子:
希望这些内容对读者有所帮助,如有错误,也请在评论中提出来,谢谢了。
让博主带你们看看要认识的第一个结构体(struct)
typedef struct _NSRange { unsigned int location; unsigned int length; } NSRange;
这个结构体用来表示相关事物的范围,一般是字符串里的字符范围或数组里的元素范围。location字段存放该范围的起始位置,而length字段则是该范围内所含元素的个数。在字符串”We should learn Objective-C weill!”中,单词should可以用location为3,length为6的范围来表示。location还可以用NSNotFound这个值来表示没有范围,比如变量没有初始化。
创建新的NSRange有三种方式:
1、直接给字段赋值:
NSRange range; range.location = 3; range.length = 6;
2、应用C语言的聚合结构赋值机制:
NSRange range = {3,6};
3、是Cocoa提供的一个快捷函数NSMakeRange():
NSRange range = NSMakeRange(3,6);
使用NSMakeRange()的好处是你在任何能够使用函数的地方使用它,在方法调用中可以将其作为参数进行传递。
二、几何数据类型
用来处理几何图形的数据类型,它们的名称都带有CG前缀。
1、CGPoint表示的是笛卡尔平面中的一个坐标(x,y):
struct CGPoint { float x; float y; };
CGSize用来存储长度和宽度:
struct CGSize { float width; float height; };
3、Cocoa提供了一个矩形数据类型,它由坐标和大小复合而成:
struct CGRect { CGPoint origin; CGSize size; };
Cocoa也为我们提供了创建这些数据类型的快捷函数:CGPointMake()、CGSizeMake()和CGRectMake()。
在这里请容许博主举一些例子:
CGPoint point = CGPointMake(1,2); CGSize size = CGSizeMake(30,40); CGRect rect = CGRectMake(1,2,30,40);
希望这些内容对读者有所帮助,如有错误,也请在评论中提出来,谢谢了。
相关文章推荐
- JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- Object之超级奶爸一
- objective-c set/get方法(自定义自己的set/get方法)
- Objective-C中字符串(NSString和NSMutableString)常用的方法
- 从C/C++到Objective-C(二)--- 面向对象
- [iOS]Objective-C编程规范
- 【JSON异常系列】new JSONObject对象时卡死原因
- Anaconda下import caffe出现错误TypeError: 'module' object is not callable
- Objective-C 内存管理之 _ARC
- Animation动画详解(七)——ObjectAnimator基本使用
- iOS UIView动画详解(Objective-C)
- Retrofit2.0 使用归纳和 JSONObject Conveter
- Java IO之对象的序列化、ObjectInputStream和ObjectOutputStream类
- iOS NSUserDefaults setObject forKey,本地化存储,删除字典中的null,空值,本地化的时候,如果value为空值所引起的崩溃
- Swift 与 Objective-C混合编程
- TypeError: ObjectId('') is not JSON serializable
- JSONObject_v3
- Java基础(二):Object、Class、克隆、异常编程
- objective_C 优缺点