
OC
文章平均质量分 57
FarmGuo
这个作者很懒,什么都没留下…
展开
-
指定初始化和便利初始化
1,指定初始化方法必须调用父类的指定初始化方法(通过super的方式),NSObject是所有类的根类,其指定初始化方法是init。2,类的便利初始化方法必须调用类的其他指定初始化方法。3,类实现了指定初始化方法,必须实现(覆盖实现)父类的所有指定初始化方法.........................................................原创 2022-07-13 20:13:18 · 528 阅读 · 0 评论 -
Xcode的诊断配置
Xcode的scheme配置中,有个Diagnostics栏目,其中有很多内存相关的配置,用来帮助开发者定位内存问题。常用的功能有这些。Address SanitizerGuard MallocZombie ObjectsMalloc ScribbleMaloc Guard EdgesMalloc Stack LoggingAddress Sanitizer,地址消毒剂Guard MallocMalloc Scribble,将分配的内存填充0xAA(通过malloc调用的,calloc不会填原创 2022-07-07 10:53:54 · 1040 阅读 · 0 评论 -
Aspects源码分析
Aspects是一个用来切片编程的开源框架,提供了丰富接口,可以Hook类和单个对象的方法,并提供了原实现前Hook,替换原实现,原实现后Hook等选项。1 实现流程不管是Hook类的还是Hook某个对象的,基本流程都是将原SEL指向objc_msgForward,使其走消息转发的流程,然后将原实现保存在aliseSEL中。然后将forwardInnovation的实现设为自定义的方法,如果原来有forwardInnovation的实现,则将其保存在AspectsForwardInvocationSel原创 2021-10-29 16:13:27 · 206 阅读 · 0 评论 -
进程与线程
进程三个状态:就绪Ready,运行 Runing,阻塞 Suspend。就绪代表资源都已经准备好,只待CPU执行,阻塞表示需要获取资源导致当前无法继续执行而被挂起。进程是资源分配的基本单位,而线程是CPU调度和执行的基本单位。进程创建后会分配进程控制块(PCB)包含以下信息1,进程描述信息:进程标示符(pid),用户标示符(uid)2,进程控制和管理信息:进程状态,进程优先级3,资源分配信息:内存地址空间、文件列表4,CPU相关信息:寄存器的值,页表信息通常PCB是以链表的方式进行管理,把具有原创 2021-10-13 21:54:45 · 111 阅读 · 0 评论 -
Block小结
一直使用Block,却没有认真研究过,做个总结吧block的实质就是匿名函数,通过函数指针的调用来实现的,并对内部的引用到的数据进行管理(retain/release),封装后成为block,最终变成对象。1.Block结构 void (^block)(void) = ^(void) { printf("hello world"); };通过clang -rew...原创 2020-03-09 21:29:13 · 289 阅读 · 0 评论 -
Map和Dictionary
NSMutableDictionary会对key进行强引用,对value进行copy,key必须有copyWithZone方法。NSMapTable可以灵活配置key和value的内存管理方法,更多类型见NSPointerFunctionsOptions枚举值[NSMutableDictionary dictionary]等同于[NSMapTable mapTableWithKeyOp...原创 2019-04-22 11:43:48 · 2039 阅读 · 0 评论 -
Xcode中使用Scheme管理项目
在应用开发中原创 2016-03-14 14:55:07 · 9659 阅读 · 0 评论 -
OC的代理问题
OC可以告一段落了,OC总体来说确实不难,难点在于资料不多,且大部分是老外所写。而且OC语法与其他的常用语言如C、C++、Java、C#相差太大。老外的书写的固然好(国内一部分书基本都是照抄的,呵呵),但书的风格与我们习惯的不太一样,再经过翻译后,原创 2014-10-05 11:21:30 · 689 阅读 · 0 评论 -
iOS内存管理的一些问题
在上一篇博文 iOS模仿QQ的折叠原创 2014-09-28 16:17:17 · 591 阅读 · 0 评论 -
OC中几种请求方式
HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。GET优点:3个全在一起(接口、链接、数据)可以在浏览器查看,书写简单。所有信息附加都在地址后面缺点:明文,保密性差,通过GET提交数据,用户名和密码将明文出现在URL上。文件操作不方便GET方式是比较常见的方法。一般不提交大量的数据,都是GET方式来请求网页的,比较POST数据量大。可以看到各种网址后原创 2014-08-23 19:59:06 · 935 阅读 · 0 评论