黑马程序员 -结构体的使用总结

结构体也是OC中很常用的一个知识点.比如在截取数据源方法的时候,NSRange 这个结构体非常常用.除了NSRange之外,常见的结构体还有NSPoint,NSSize,NSRect,都是非常常用的.

一.利用C语言来看看结构体的形式

分析:其实我们可以看出这个结构体的形式和C语言极其相似.在结构体内部规定了这个结构体拥有的属性.

 

二. NSRange

(1)创建方式

我们这里首先较为详细说明下结构体可以创建的方式.创建结构体一共有三个方式.

1' 直接给成员赋值,代码如下:

我们可以看出这样的创建方式还是有些麻烦的.

2'应用C 语言的聚合结构体机制来创建

3'这种方式我们常用到,是Foundation框架提供的一个快捷函数NSMakeRange.

这种直接赋值部分可以智能提示出来,比第二种要好,代码量比第一种少.

(1)NSRange应用

我们之前说到,NSRange经常在做截取的时候用到.比如说,我们现在要截取一个字符串.从"123456"中截取23,那么就需要如下代码:

讲到这里,我们一定对 location 和 length 的这两个属性的含义想要了解清楚. location 是代表从哪个位置开始截取, length 是你从 location 那个位置开始往后截取几位.

 

二.查看结构体对象

我们在接收到结构体对象之后,很多时候都会在调试的时候打印看看这个结构具体的内部的值.

但是我们直接 NSLog打印是不行的,我们需要讲 NSRange 转换成 NSString才可以,类似于这样:

或者这样

%@ 代表的是 C 对象,但是 range 不是对象,是结构体,是不一样的.

 

三.NSPoint

创建

使用

 NSPoint 主要用于设置位置frame 时候的使用.参数的含义,可以直接从参数名称看出,是横纵的坐标.

 

四. NSSize

NSSize这个结构体用来存储宽和高,也是在设置 frame 的时候用的到.

 

五. NSRect

NSRect这个和上边两个一样,也是设置 frame 的时候使用,这个一次性可以代替 NSPoint 和 NSSize 的作用,所以比前两个要常用的多.但是前两个也不是没有使用的场景,因为有些情况,我们值设置他的宽和高,却不用设置他的坐标.

 

常用的结构体就介绍到这里.第一种 NSRage 介绍详细之后,其它的创建的方式和打印信息的方式都是相同类似的.这也是 OC 语言规范的一个体现.

posted @ 2015-12-04 23:44  coderQin  阅读(123)  评论(0)    收藏  举报