iOS课程观看笔记
文章平均质量分 90
啦啦啦啦
AsiaSun.
日拱一卒
展开
-
iOS课程观看笔记(八)---网络
HTTP协议HTTP即:超文本传输协议有关HTTP,主要介绍以下三点:请求/响应报文连接建立流程HTTP的特点请求/响应报文问:HTTP的请求方式都有哪些?(被问过)GET:请求指定的页面信息,并返回实体主体。请求会显示请求指定的资源。POST:POST请求会 向指定资源提交数据,请求服务器进行处理,如:表单数据提交、文件上传等,请求数据会被包含在请求体中。POST方法可能会创建新的资源或/和修改现有资源。HEAD:HEAD方法与GET方法一样,都是向服务器发出指定资源的请求。但.原创 2020-08-07 00:17:23 · 313 阅读 · 1 评论 -
iOS课程观看笔记(十二)---第三方库
AFNetworkingSDWebImage一个异步下载图片,并支持缓存的框架ReactiveCocoa(RAC)函数响应式编程框架订阅 一个 信号AsyncDisplayKit提升iOS界面渲染性能的一个框架后两个框架没用过,只是截图,需要学习的请看其他资料...原创 2020-08-03 23:17:40 · 172 阅读 · 1 评论 -
iOS课程观看笔记(十一)---算法
字符串反转给定字符串“hello,world”,实现将其反转,输出结果:dlrow,olleh定义两个指针,begin和end,begin++,end–,所指元素交换,当begin>=end,程序结束@interface CharReverse : NSObjectvoid charReverse(char *);@end#import "CharReverse.h"@implementation CharReversevoid charReverse(char *cha){.原创 2020-08-03 16:35:09 · 306 阅读 · 0 评论 -
iOS课程观看笔记(十)---架构/框架
架构和框架之所以运用到我们开发中,是为了解决什么问题?模块化分层解耦降低代码耦合度图片缓存问:怎样设计一个图片缓存框架?多了一个图片的编码、解码图片读写图片通过什么方式进行读写,过程是怎样的?图片的读写,以图片的URL的单向Hash值作为key图片缓存中的内存设计图片缓存中的内存设计上需要考虑哪些问题?存储Size淘汰策略两方面:图片大小图片使用频率LRU算法(最近最久未使用算法),根据算法查找哪些图片在30分钟之内是否使用过什么时候执行LRU算法,有.原创 2020-08-02 17:38:14 · 302 阅读 · 0 评论 -
iOS课程观看笔记(九)---设计模式
六大设计原则(知识点盲区)1单一职责原则一个类只负责一件事例如:UIView和CALayer2开闭原则对修改关闭,对扩展开放例如:定义好一个类,尽量减少对它的修改,同时把扩展打开3接口隔离原则使用多个专门的协议,而不是一个庞大臃肿的协议协议中的方法应当尽量少比如:UITableView,提供了UITableViewDataSource和UITableViewDelegate两个协议4依赖倒置原则抽象不应该依赖于具体实现,具体实现可以依赖于抽象5里式替换原则父类可以被子类无缝替.原创 2020-08-02 14:48:37 · 276 阅读 · 0 评论 -
iOS课程观看笔记(七)---RunLoop
GCD的内部原来,线程池RunLoop与RunTime什么是RunLoop?RunLoop是通过内部维护的事件循环来对 事件/消息 进行管理的 对象事件循环包括两点:没有消息需要处理时,休眠以避免资源占用有消息需要处理时,立刻被唤醒RunLoop的关键点,就是用户态与内核态的切换问:为什么iOS中main()函数可以保持一直运行状态。而不退出?在main()函数内部,会调用UIApplicationMain()函数,在UIApplicationMain()函数内部会启动主线程..原创 2020-08-01 20:51:16 · 236 阅读 · 1 评论 -
iOS课程观看笔记(六)---多线程
本节学习内容目录:问:iOS提供了哪些多线程技术方案?pthread、NSThread、GCD、NSOperationGCD同步\异步 和 串行\并行dispatch_barrier_async(barrier栅栏)异步栅栏调用,可以很好的解决异步多读单写问题dispatch_group同步\异步 和 串行\并行sync:同步async:异步serial_queue:串行队列concurrent_queue:并行队列两两组合,可以由四种不同的组合:同步串行异步串行同步并行原创 2020-07-31 18:40:56 · 425 阅读 · 1 评论 -
iOS课程观看笔记(五)---Block
问:什么是Block?Block是将函数及其执行上下文封装起来的对象Block的调用,既是函数的调用截获变量__block修饰符一般情况下,对被截获变量进行赋值操作需添加**__block修饰符**赋值 != 使用array是局部变量,会被捕获进去,捕获进去的是NSMutableArray *array,array是指针变量,因此,array本身不可以做修改,但是array指针指向的变量可以修改,也就是[array addobject:@123]没有问题同理,array = [N.原创 2020-07-30 00:00:02 · 197 阅读 · 0 评论 -
iOS课程观看笔记(四)---内存管理
内存布局stack:栈包括:方法调用heap:堆,通过alloc等分配的对象bss:未初始化的全局变量以及静态变量等data:已初始化的全局变量以及静态变量等text:程序代码内存管理方案包括三种:TaggedPointer:NSNumber小对象NONPOINTER_ISA:64位中某些字段存储的是其他信息,不全是指针散列表:weak弱引用表、引用计数表NONPOINTER_ISA散列表方式struct SideTable { spinlock_t sl.原创 2020-07-29 16:01:41 · 495 阅读 · 1 评论 -
iOS课程观看笔记(三)---RunTime
问:编译型语言与OC这种动态编译语言的区别有哪些?消息传递与函数调用有怎样的区别?为了很好的回答以上问题,我们开始一起学习数据结构我们主要学习四种数据结构:objc_objectobjc_classisa指针method_ttypedef struct objc_class *Class;typedef struct objc_object *id;objc_object在源码文件中,截取了部分内容:struct objc_object {private: isa原创 2020-07-28 15:01:25 · 273 阅读 · 0 评论 -
iOS课程观看笔记(二)---OC语言相关
开局一张图围绕着OC语言相关问题,大致涉及到图片中所有的内容。分类(Category)你用分类都做了哪些事情?声明私有方法分解体积庞大的类文件把Framework的私有方法公开声明私有方法这个,我感觉就是将原来的写在原类中的私有方法,在分类中进行声明。比如定义一个分类,只有头文件放到对应宿主.m里,满足私有方法的声明和使用,不暴露具体实现。分类的特点:运行时决议指的是在运行时,通过runtime将分类里面的内容添加到宿主类里面可以为系统类添加分类分类中都可以添加哪些内原创 2020-07-27 17:35:40 · 310 阅读 · 1 评论 -
iOS课程观看笔记(一)---UI视图相关
简介:于海老师的《资深大牛带你深度剖析ios面试》算是看完了,于海老师思路清晰、语言流畅、把握要点,把很多难点问题可以很好的讲通,还有很多偏角旮旯自己不知道或没有掌握的知识也是从这上面学习到的,看的人有种拍案叫绝的感觉。整体来看,这套课程是难得的精品课程。当然,也有不足之处,所讲知识都是直戳要害,没有进行发散,对新手不是很友好,不过也是,这门课本身就是面向中高级iOS程序员的。有些地方自己知道的,可以加深了解,串联知识点。有些地方自己并没听说过,自己想弄明白需要下功夫查些资料。看完,不等于学完,不原创 2020-07-26 15:50:38 · 495 阅读 · 1 评论