今天练习日 经过昨天老师总结的一些内容以后 发现自己很多不足 我们还是来复习一下:
Notification
Notification和delegate的比较:如果同为一对一的时候 delegate更高效,但是notification耦合度低
KVC: key Value Coding 键值编码
KVO: Key Value Observer 键值监听
MVC:
Model:模型层 指代码中创建的实体对象如:Person Weibo Tuangou Music
View:视图层 指代码中各种自定义控件 如:WeiboCell MusicCell
Controller:控制层:所有的页面都属于Controller
M->C:Notification、KVO
C->M:直接访问
M->V:NO
V->M:NO
V->C:action delegate datasource
C->V:outlet 直接访问
沙盒沙箱 sandbox
Documents:常用数据或有用的数据 保存到此文件夹 iTunes会备份和恢复
Library/Caches:缓存文件夹 保存缓存数据的 iTunes不会备份
Library/preferences:偏好设置文件夹 保存UserDefault的数据 iTunes会备份
tmp:临时文件夹保存临时文件 iTunes不会备份
NSBundle:表示一个路径 mainBundle 表示 资源文件的根路径
resourcePath 获取bundle的路径
pathForResource 获取某个文件的完整路径
plist: 属性列表 需要掌握 如何把内存中数组或字典保存成plist文件 和 反向操作
1.UILabel 基本数据类型:int long longlong double float char bool 变量声明和赋值 UIButton 数字和字符串互相转换
2.文本输入框 获取用户输入的文本 如何把用户输入的数字文本 转成 int或float 变量作用域 关系运算符 > < == >= <= != if else if else
3.UIImageView for循环 while循环 方法 有参数 无参数 有返回 和无返回
4.什么是面向对象 对象包括(属性和方法)判断对象类型(isMemberOfClass(判断一种 isKindsOfClass(判断一类)
5.面向对象三大特性 封装 继承 多态 通过植物大战僵尸 把三个特性实操一边 类方法和对象方法 类方法:通过类名调用 调用方便 +开头 对象方法:需要创建对象去调用 -开头 工厂方法:类方法的一种,用来创建对象的 NSTimer的使用
6.打僵尸小游戏 数组&nb
7.内存管理 讲解了 什么ARC和MRC 修饰属性的关键字 retain(strong) passing(weak)copy readonly 和dealloc方法何时调用 协议(规则)必须实现的方法用required 非必须 optional修饰
8.Category:在不改动现有对象的情况下 给对象添加一些方法 NSString:创建 拼接 截取 替换 判断包含 分隔 判断是否以什么开头和结尾 NSNumber和NSValue 可变数组 可变字符串
9.应用程序声明周期 viewController之间跳转 present 和dismiss 正向传值(调用)和反向传值(调用)
10.打飞机游戏锻炼正反向传值 把前几天的内容综合练习
11.UIButton UILabel UITextfiled 进度条 菊花 拖动条 switch开关 单选(sc)UIView相关方法:添加子控件 插入子控件 交换子控件位置 删除 交互开关 hidden alpha 背景颜色 bounce subViews superView transform clipSuviews(超出范围不显示)bringSubViewToFront(子控件置顶)tag
12.toolBar tabor 记忆力游戏 进度条 stepper ScrollView 设置内容大小 便宜 pagingEnable contentInset 各种协议方法 内容缩放
13.导航控制器 navigation bar uibarButtonItem 跳转页面 push pop ,UITableView Cell的重用机制 注意事项:delegate和dataSource必须连线 遵守协议 实现协议中必须实现的两个方法 Cell如果是xib或sb需要加重用表示cell 各种协议方法:cell的点击事件、行高、头尾高、分组
14.自定义Cell三种方式:纯代码 xib sb (在layoutSubViews里面写控制自己内容的代码)Cell的各种属性控制显示效果 动态获取文本高度*
15.fileManager 递归 文件查找工具 和 文件管理器 取地址&
16.微博列表 自定义Cell作业 和系统相册项目 作业 考试
17.Json解析 菜单项目 汽车图片项目 电影项目
18.驾考宝典 新闻项目 TabbarController WebView
19.电影项目 火车票
20.触摸的各种方法(began moved ended cancel) 手势 点击 pinch缩放 rotation旋转 swipe滑动 pan拖动 longPress长按 边界滑动 动画:transform frame bounce center alpha 背景颜色 显示不显示
21绘制各种方法 画线 矩形 圆形 扇形 图片 文本
22.拼接图片项目 获取系统相册图片
23.归档 通过归档实现 切换板式 保存控件显示内容 图片编辑项目
24.音频播放 简单版音乐播放器
25.QQ音乐 视频播放 UserDefault
26.Notification KVC KVO、MVC设计模式、沙盒、Bundle、plist
今天下午讲了xml文件:即可扩展标记语言
,标准通用标记语言
的子集,是一种用于标记电子文件使其具有结构性的标记语言
!与jonsen字符串类似,但要比jonsen字符串应用范围更广。
XML文件需要解析,解析方法有两种分别为XMLsax解析和DOM解析;
XMLsax解析:比较省资源,需要用协议方法进行解析,缺点是因为要用到delegate协议所以不能使用静态方法;
DOM解析:需要把文件先加载到内存中,比较浪费内存资源,需要借助第三方框架,优点是可以用静态方法,在解析类里不需要声明对象;
XMLsax解析:
parser.delegate =self;要用自身属性所以不能用静态方法;
学习ios 重要还是要理清楚思路 在做或者看老师代码的时候 自己多想想为什么 不要自己看着就抄 另外还是要推荐一下 蓝懿IOS这个培训机构 和刘国斌老师刘国斌老师还是很有名气的,听朋友说刘老师成立了蓝懿iOS,,老师讲课方式很独特,能够尽量让每个人都能弄明白,有的比较难懂的地方,如果有的地方还是不懂得话,老师会换个其它方法再讲解,这对于我们这些学习iOS的同学是非常好的,多种方式的讲解会理解得更全面,这个必须得给个赞,嘻嘻,还有就是这里的学习环境很好,很安静,可以很安心的学习,安静的环境是学习的基础,小班讲课,每个班20几个学生,学习氛围非常好,每天都学到9点多才离开教室,练习的时间很充裕,而且如果在练习的过程中有什么困难,随时可以向老师求助,不像其它机构,通过视频教学,有的甚至学完之后都看不到讲师本人,问点问题都不方便,这就是蓝懿与其它机构的区别,相信在刘国斌老师的细心指导下,每个蓝懿学员都能找到满意的工作,加油!
写博客第四十九天;
QQ:565803433