Objective-C学习笔记(5)

Foundation框架—结构体

一、基本知识

Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。

如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。

即#import<foundation/foundation.h>

补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的。

二、常用的结构体介绍及简单使用

常用的结构体:

img

(一)NSRang的基本使用

img

创建变量

img

(二)NSPoint/CGPoint的使用

img

(三)NSSize/CGSize的使用

img

(四)NSRect/CGRect的使用

img

常规的使用方式:

在开发中,想要验证结构体中属性的值,应该如何打印?

img

利用框架函数把相应的结构体转变成字符串,再直接打印字符串即可

img

(五)Foundation框架中一些经常用到的结构体函数

img

补充1:导入框架 Build phase->link (+)

补充2:ios中坐标原点在左上角。

Foundation框架—字符串

一、Foundation框架中一些常用的类

字符串型:

NSString:不可变字符串

NSMutableString:可变字符串

集合型:

1)

NSArray:OC不可变数组

NSMutableArray:可变数组

2)

NSSet:

NSMutableSet:

3)

NSDictiorary

NSMutableDictiorary

其它:

NSDate

NSObject

二、NSString和NSMutableString的使用与注意

(一)6种创建字符串的形式

img

(二)使用注意

(1)字符串的导入导出

img

(2)类方法

img

(三)NSMutableString的使用与注意

img

(四)URL补充内容

Url:资源路径

格式:协议头:/路径

网络路径协议头:http

本地文件以file为协议头

ftp为协议头,说明资源是ftp服务器上的。

Foundation框架—集合

一、NSArray和NSMutableArray

(一)NSArray不可变数组

(1)NSArray的基本介绍

NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组。

C语言数组有一个缺点即数组中只能存放同种数据类型的元素。

OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等。

(2)NSArray的创建

img

(3)NSArray的访问

img

(4)NSArray的遍历

数组的遍历有以下几种方式:

首先创建一个数组

img

第一种方法:使用for循环遍历

img

img

Block遍历的深入研究:

img

每拿到一个元素,就传递给obj,就会调用一次block,并且把当前的元素和索引位置当做参数传递给block。

注意1:break只使用在两种场合,即switch和循环结构中。

注意2:stop参数用来停止遍历,其值若为YES,则停止。

(二)NSMutableArray可变数组

(1)NSMutableArray的基本使用

注意:NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法。

img

二、NSSet和NSMutableSet

(一)NSSet不可变集合

基本使用:

img

(二)NSMutableSet可变集合

基本使用:

img

(三)NSSet和NSArray的对比

(1)共同点:

1)都是集合,都能够存放多个对象

2)只能存放oc对象,不能存放非oc对象类型(如int等基本数据类型和结构体,枚举等)。

3)本身都不可变,都有一个可变的子类。

(2)不同点:

1)NSArray有顺序,NSSet没有顺序

三、NSDictionary和NSMutableDictionary

(一)NSDictionary不可变字典

(1)介绍

现实中的字典:根据索引找到具体的内容

OC中的NSDictionary:根据key找到value。里面存储的东西都是键值对。

(2)NSDictionary的创建

img

注意:快速创建字典是编译器特性。

(3)NSDictionary的访问

img

(4)NSDictionary的遍历

img

(二)NSMutableDictionary可变字典

(1)NSMutableDictionary的基本使用

img

(2)NSMutableDictionary的使用注意

img

注意:这种快速创建的方式只适用于不可变字典。

原文地址:https://www.cnblogs.com/xjtu-lyh/p/12846229.html