OC语言大总结(下)
|
知识点 |
注意事项 |
|
容器简介 |
容器类,管理一组对象类型的数据. iOS中存放数据的容器类都称为集合 |
|
数组简介 |
OC中数组是有序集合,只能存放对象类型; 数组有下标(index)的概念,靠下标查找元素,下标从0开始; 数组分不可变数组(NSArray)和可变数组(NSMutableArray). |
|
不可变数组 |
数组的创建; 获取数组元素个数; 根据index获取数组中对象; |
|
不可变数组(NSArray)的创建 |
常用实例方法:—initWithObjects: 常用便利构造器:+arrayWithObjects: |
|
获取元素个数,根据index获取对象 |
获取元素个数:—count 根据index获取对象:—objectAtIndex: |
|
可变数组(NSMutableArray) |
NSMutableArray是NSArray的子类,继承了NSArray的所有方法 可变数组可以在数组本身基础进行增,删,改,查等操作. 常用方法: 创建数组对象; 添加元素,插入元素; 删除元素,替换元素; 交换指位置的两个元素; |
|
(可变数组)NSMutableArray的创建 |
实例方法: - initWithCapacity: - initWithObjects: 便利构造器: + arrayWithCapacity: + arrayWithObjects: |
|
添加元素,插入元素 |
添加元素: - addObject: 插入元素: - insertObject:atIndex: |
|
删除元素,替换元素 |
删除元素: - removeObjectAtIndex: - removeLastObject: - removeAllObjects: 替换元素: - replaceObjectAtIndex:withObject: |
|
交换指定位置的两个元素 |
- exchangeObjectAtIndex:withObjectAtIndex: |
|
数组的遍历 |
数组的遍历:将数组从头到尾全部筛选一遍; 通常结合for循环使用,有多少元素就循环多少次; 快速遍历for—in |
|
字典简介 |
对于”name:小三”来讲,key就是”name”,key对应的value是”小三”; 字典用于保存具有映射关系(key-value对)数据的集合; 一个key-value对认为是一个条目(Entry),字典是存储key-value对的容器 |
|
字典特点 |
与数组不同,字典靠key存取元素; key不能重复,value必须是对象; 键值对在字典中是无序存储的; 字典分:不可变字典(NSDictionary)和可变字典(NSMutableDictionary) |
|
不可变字典(NSDictionary) |
不可变字典一旦创建,键值对就不可更改,不可添加,不可删除. 不可变字典仅能被读取key或者value 常用方法: 创建字典对象 获取所有key值,获取所有value值 通过key值查询value |
|
不可变字典(NSDictionary)的创建 |
实例方法: initWithObjectsAndKeys: 便利构造器: + dictionaryWithObjectsAndKeys: |
|
获取所有的key和value,通过key查询value |
获取所有key: allKeys 获取所有value: allValue 通过key查询value: - objectForKey |
|
可变字典(NSMutableDictionary) |
NSDictionary的子类 可以对可变字典的键值对进行增,删,改 常用方法: 创建可变字典对象 添加键值对 修改key对应的value 删除键值对 |
|
可变字典(NSMutableDictionary)的创建 |
实例方法: - initWithObjectsAndKeys: initWithCapacity: 便利构造器: + dictionaryWithObjectAndKeys: |
|
添加,修改,删除键值对 |
添加,修改键值对: setValue:ForKey: setObject:ForKey: 删除键值对: -removeObjectForKey: |
|
字典的遍历 |
遍历allKeys 遍历allValues 遍历所有的键值对 |
|
集合 |
数学中有集合的的概念 比如:整数集,自然数集. 再比如:集合{1,2,3,4},集合{2,3,5,6} iOS中也有集合类与数学中的集合对应 |
|
集合的特点 |
与数学中的集合一样,集合中的元素唯一 存储的元素是无序的 存储元素必须是对象类型 iOS中用Set表示集合,分NSSet和NSMutableSet |
|
不可变集合(NSSet) |
常用方法: 创建集合对象 获取元素个数 获取集合中的某个元素 判断集合中是否包含某个对象 |
|
不可变集合(NSSet)的创建 |
实例化方法: initWithObjects: 便利构造器: + setWithObjects: |
|
获取不可变集合(NSSet)的元素个数及某个元素 |
获取元素个数: count 获取某个元素: - anyObject |
|
判断集合是否包含某个元素 |
- containsObject: |
|
可变集合(NSMutableSet) |
常用方法: 创建集合对象 添加元素 删除元素 |
|
可变集合(NSMutableSet)的创建 |
实例化方法: initWithObjects: 便利构造器: - setWithObjects: |
|
可变集合(NSMutableSet)元素的添加,删除 |
添加元素: addObject: 删除元素: - removeObject: |
|
计数集合特点 |
NSCountedSet是NSMutableSet的子类 能记录元素的重复次数 在set的基础上添加了计数功能 - countForObject: |
|
知识点 |
注意事项 |
|
数组的遍历 |
NSArray *array = @[@“西游记”,@“三国演义”,@“红楼梦”,@“水浒传”]; 方法一:for循环 for(int i = 0;i < array.count ;i 方法二:枚举器 NSEnumerator *enumerator = [array objectEnumerator]; NSString *object = nil; while(object = [enumerator 方法三:快速枚举(for in) for(NSString *object in |
|
字典的遍历 |
NSDictionary *dictionary = 方法一:for循环 NSArray *array01 = [dictionary allKeys]; for(int i = 0;i < 方法二:枚举器 NSEnumerator *keyEnumerator = [dictionary NSString *key = nil; while(key = [keyEnumerator 方法三:快速枚举(for in) for(NSString *key in |
|
集合的遍历 |
NSSet *set = [NSSet 方法一:for 循环 NSArray *array = [set allObjects]; for(int i = 0; i< 方法二:使用枚举器 NSEnumerator *enumerator =[set objectEnumerator]; NSString *object = nil; while(object = [enumerator 方法三:快速遍历(for in) for (NSString *object in |
|
for in |
1.是 oc 的快速枚举语法,内部封装了枚举器。 2.数组 for in枚举的是数组元素 3.字典 for in枚举的是字典中的 key,因为 key 是唯一的 4.集合 for in 枚举的是集合中的元素; 5.如果用 for in |
|
不可变数组排序方法 |
排序方法:NSArray *array02 = [array01 构建排序描述器:NSSortDescriptor *descriptor = [NSSortDescriptor NSArray * array02 =[array01 |
|
可变数组排序方法 |
排序方法:NSArray *array02 = [array01 构建排序描述器:NSSortDescriptor *descriptor = [NSSortDescriptor NSArray * array02 =[array01 |
|
SEL |
是你数组元素 元素与元素之间 的比较方法,如果数组是 person,就写 person 与 |
|
小结 |
1.官方推荐的排序方法:使用 2.不可变数组也可以排序,只不过自身不会发生变化,会创建一个新的数组,存放排好序的元素,并把这个数组返回。 3.可变数组可以对自身排序 4.可变数组排序方法没有返回值。方法名第一个单词,是个动词。 |
|
课程 |
题目 |
时间 |
对应的项目名称 |
|
1. |
1. 2. 3. 自我介绍introduceSelf) 4. |
7min |
Lesson-01 |
|
2. |
1. 2. @private:性别) 3. 和 4. 5. |
15min |
Lesson-02 |
|
3. |
1. 实例变量:(姓名:_name、年龄:_age) 方法:打招呼:sayHi 实例变量的赋值、取值方法 2. 添加实例变量(学号:_num,分数:_score) 方法:指定初始化方法:initWithName:age:num:score: 普通初始化方法:initWithName:Num:score: 便利构造器: 实例变量的赋值、取值方法 3. |
15min |
Lesson-03 |
|
4. NSString、NSArray、NSNumber |
1.创建Student类 实例变量:_name 方法:初始化方法 便利构造器 所有实例变量的赋值、取值方法 打招呼sayHi方法(打印自己的全部实例变量) 2. 3. 4. 5. 6. 7. |
13min30s |
Lesson-04 |
|
5. |
1. 实例变量:_name 便利构造器 打招呼:sayHi 2. 3. 4. 5. 6. |
12min |
Lesson-05 |
|
6. Block、数组高级 |
1. 实例变量: 遍历构造器 实例变量的赋值、取值方法 2. 3. 4. |
13min30s |
Lesson-06 |
|
7. |
1. 方法:做饭 哄孩子 2. 实例变量:delegate,遵守协议 方法:饿 4. |
10min |
Lesson-07 |
|
8. |
1. 属性:name(字符串类型), age(整型),score(浮点类型) 方法:初始化方法 便利构造器 重写description方法(打印学生所有属性值) 2. 3. 4. |
9min |
Lesson-08 |
|
9. |
1. 属性:name 方法:初始化方法 便利构造器 2. 3. |
10min30s |
Lesson-09 |
|
10. |
1. 属性:name(语义设置词copy) 方法:重写name、age、address的setter和getter方法 初始化方法 便利构造器 重写description方法(打印该对象的信息) 2. |
11min |
Lesson-10 |
|
来自韩俊强的整理,更多精彩请点击关注:http://blog.sina.com.cn/qingnianzhifengwenxue |
欢迎学习本文档,未经博主允许,不得私自转载!
OC语言大总结(下)的更多相关文章
- OC语言大总结(上)
根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强 未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 第一节类于对象 类与对象http:// ...
- R语言︱大数据集下运行内存管理
在实操时出现以下的问题: Error: cannot allocate vector of size 2.9GB 大神指导(http://bbs.pinggu.org/thread-3682816-1 ...
- iOS - OC 语言新特性
前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力.在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 O ...
- OC语言的特性(一)-消息传递与调用函数的表现形式
我们在初学Objective-C时,都会觉得ObjC中的消息传递和其他语言的调用函数差不多,只是在OC中,方法调用用消息传递这一概念来代替. 那么到底怎样区别OC中的消息传递与其他语言的调用函数呢. ...
- OC 语言新特性
前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力. 在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 ...
- OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- OC语言类的本质和分类
OC语言类的深入和分类 一.分类 (一)分类的基本知识 概念:Category 分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件 ...
- OC语言BLOCK和协议
OC语言BLOCK和协议 一.BOLCK (一)简介 BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行. BOLCK和函数的相似 ...
- OC语言-02-OC语言-基础知识
一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 ...
随机推荐
- 关于go语言的通道
1.记一次gorountine导致的泄漏 在项目中使用https://github.com/deckarep/golang-set这个三方包造成了gorountine泄漏.先来看一下这个包的迭代器设置 ...
- Git-gitblit-Tortoisegit 搭建Windows Git本地服务器
1.Gitblit安装 1.1.Gitblit简介 Git在版本控制领域可谓是深受程序员喜爱.对于开源的项目,可以免费托管到GitHub上面,相当的方便.但是私有项目托管到GitHub会收取相当昂贵的 ...
- Java第2次实验提纲(Java基本语法与类库)
1. 使用Git克隆(clone)项目到你的Eclipse项目中 见以下参考资料中的3 从码云将项目clone到你的电脑 重要提示: 使用Git来管理你的代码以后,当你在本机Eclipse项目中开始编 ...
- Android5.0特性阴影效果和裁剪
阴影和剪裁 View的z属性 Material Design建议为了凸显布局的层次,建议使用阴影效果,并且Android L为了简化大家的工作,对View进行了扩展,能使大家非常方便的创建阴影效果: ...
- 剑指Offer——关于劳动合同,这6件事毕业生必须知道!
剑指Offer--关于劳动合同,这6件事毕业生必须知道! 求职找工作,不少人拿到劳动合同的那刻,可能连合同内容都没看清,就挥着笔杆子"签签签".别急!劳动合同包含哪些条款你清楚 ...
- [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西
本文在微信公众号文章地址:微信公众号文章地址 本文地址:http://blog.csdn.net/sushengmiyan/article/details/45190485 [TOC] 在Ext JS ...
- main函数之后的调用
main函数代表进程的主线程.程序开始执行时,系统为程序创建一个进程,main函数其实并不是首先被调用的函数,而是操作系统调用了C/C++运行期启动函数,该函数负责对C/C++ 运行期库进行初始化.它 ...
- 剑指Offer——搜狐畅游笔试题+知识点总结
剑指Offer--搜狐畅游笔试题+知识点总结 情景回顾 时间:2016.9.24 10:00-12:00 地点:山东省网络环境智能计算技术重点实验室 事件:搜狐畅游笔试 注意事项:要有大局观,该舍 ...
- 11 吐司 Toast 代码案例
package com.qf.day11_toast_demo05; import android.app.Activity; import android.graphics.Color; impor ...
- Spark技术内幕: Shuffle详解(三)
前两篇文章写了Shuffle Read的一些实现细节.但是要想彻底理清楚这里边的实现逻辑,还是需要更多篇幅的:本篇开始,将按照Job的执行顺序,来讲解Shuffle.即,结果数据(ShuffleMap ...