• 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

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

  • 相关阅读:
    Java中RuntimeException和Exception的区别
    dubbo常见错误
    Spring3.x 版本和 JDK1.8 不兼容导致 java.lang.IllegalStateException: Failed to load ApplicationContext
    @Autowired与@Resource的区别
    阿里巴巴数据库连接池 druid配置详解
    HttpDns原理
    spring四种依赖注入方式
    JdbcTemplate
    springmvc常用注解标签详解
    访问spring接口一定要用.do么?
  • 原文地址:https://www.cnblogs.com/xjtu-lyh/p/12846229.html
Copyright © 2020-2023  润新知