博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01-Foundation中的结构体
阅读量:5322 次
发布时间:2019-06-14

本文共 2011 字,大约阅读时间需要 6 分钟。

 

  正如其名,Foundation框架是所有其它iOS框架的基础。

  Foundation框架包含了很多开发中常用的数据类型:

  (1) 结构体

  (2) 枚举

  (3) 类

  要想使用Foundation中的数据类型,包含它的主头文件即可

  #import <Foundation/Foundation.h>

1、Foundation框架包含哪些常用的结构体?

(1) NSRange

(2) NSPoint\CGPoint

(3) NSSize\CGSize

(4) NSRect\CGRect

2、具体介绍这4种结构体

首先,简单复习一下C语言中的结构体:

使用 typedef 对结构体进行重命名(起别名):

1、NSRange

(1) 在Foundation/NSRange.h中对 NSRange 的定义:

 

由此可知:NSRange结构体有两个成员:location 和 length。

其中:NSUInteger (无符号长整型)

 

(2) NSRange的作用:用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围。

  1> location : 表示该范围的起始位置

  2> length :    表示该范围内所含的元素个数

  比如 "I love objectice-c" 中的 "obj" 可以用 location为7, length为3 的范围来表示。

(3) 创建一个NSRange有3种方式:

  第1种:  直接给成员赋值

  

  第2种: 应用C语言的聚合结构赋值机制

  

  第3种: Foundation框架提供的一个快捷函数NSMakeRange()   

  

  这种最常用,是重点!

练习:

(4)查找某个字符串在str中的范围 使用 rangeOfString

2、NSPoint\CGPoint

(1) 在Foundation/NSGeometry.h中对NSPoint的定义

 

(2) 在CoreGraphics/CGGeometry.h中对CGPoint的相关定义

 

   

CGFloat 就是 double

(3) NSPointCGPoint 是等价的

(4) NSPoint 和 CGPoint的作用:代表的是平面中的一个点(x, y)

(5) Foundation框架提供了一个NSMakePoint() 创建CGPoint(NSPoint)

  CGPoint point = NSMakePoint(12, 20);

或者

  NSPoint point = NSMakePoint(12, 20);

(6) CoreGraphics框架中也提供了CGPointMake()创建一个CGPoint(NSPoint)  这种最常用,重点!!

  CGPoint point = CGPointMake(10, 20); 

或者

  NSPoint point = CGointMake(10, 20);

练习:

(7)CGPointzero == CGPointMake(0, 0); 即坐标原点。

3、NSSize\CGSize

(1) 在Foundation/NSGometry.h中对NSSize的定义

(2) 在CoreGraphics/CGGeometry.h中对CGSize的相关定义

(3) NSSize 和 CGSize 的作用:用来存储高度和宽度。

(4) 可以利用NSMakeSize()  和 CGSizeMake()创建CGSize\NSSize。

练习:

 

4、NSRect\CGRect

(1) 在Foundation/NSGometry.h中对NSRect的定义

(2) 在CoreGraphics/CGGeometry.h中对CGRect的相关定义

(3) NSRect 和 CGRect 的作用:既存储点(x, y) 又存储尺寸(width, height)。

(4) 可以利用NSMakeRect() 和 CGRectMake() 来创建 CGRect\NSRect。

 

本节重点:

(1) 虽然NSPoint、NSSize、NSRect 分别和 CGPoint 、CGSize、CGGRect等价,但是开发中最常用的还是CGPoint 、CGSize、CGRect。

(2) rangeOfString: 的用法。

(3) CGPointMake()  、 CGSizeMake() 、CGRectMake的用法。

(4)将结构体转化为OC字符串

NSStringFromRange:

NSStringFromPoint:

NSStringFromSize:

NSStringFromRect:

转载于:https://www.cnblogs.com/xdl745464047/p/4004660.html

你可能感兴趣的文章
深入理解jQuery框架-框架结构
查看>>
YUI3自动加载树实现
查看>>
python知识思维导图
查看>>
当心JavaScript奇葩的逗号表达式
查看>>
App Store最新审核指南(2015年3月更新版)
查看>>
织梦MIP文章内容页图片适配百度MIP规范
查看>>
点击复制插件clipboard.js
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>
省市县,循环组装,整合大数组
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>
posix多线程有感--线程高级编程(线程属性函数总结)(代码)
查看>>
spring-使用MyEcilpse创建demo
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>