随笔分类 -  iOS之OC

摘要:前几天面试富途证券,被问到添加通知的相关问题,当时有几个问题答错了,在此总结。 使用通知的要点 1.注册多少次,他的执行代码就会执行多少次 输出结果 2.虽然注册多次通知,但是移除一次通知,同一个对象通知就会全部移除 3.add和Remove相关方法成对出现我们平时在使用通知的时候可能会在viewW 阅读全文
posted @ 2017-03-31 22:27 学计算机的那个 阅读(209) 评论(0) 推荐(0)
摘要:Objective-C 中的 Category 就是对设计模式中装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。 使用场景 根据苹果官方文档对 Category 的描述,它的使用场景主要有三个: 实现原理 源代码略 思想:分类是在运行时决议的。 在这里分了两 阅读全文
posted @ 2017-03-19 23:34 学计算机的那个 阅读(242) 评论(0) 推荐(0)
摘要:NSTimer常见用法 创建定时器的时候,由于目标对象是self,所以要保留此实例。然而,因为定时器是用实例变量存放的,所以实例也保留了定时器,这就造成了循环引用。除非调用stop方法,或者系统回收实例,才能打破循环引用,如果无法确保stop一定被调用,就极易造成内存泄露。 当指向XXClass实例 阅读全文
posted @ 2017-03-13 01:39 学计算机的那个 阅读(2544) 评论(0) 推荐(0)
摘要:在 IOS7 以前,在IOS中实现二维码和条形码扫描,有两大开源组件 ZBar 与 ZXing. 总结下各自的缺点: ZBar在扫描的灵敏度上,和内存的使用上相对于ZXing上都是较优的,但是对于 “圆角二维码” 的扫描确很困难。 ZXing 是 Google Code上的一个开源的条形码扫描库,是 阅读全文
posted @ 2016-11-09 19:50 学计算机的那个 阅读(369) 评论(0) 推荐(0)
摘要:问题场景 后端返回的数据中总会出现一些NSNull类型,当我们一处理程序就会崩溃,因此想到把返回的数据中的NSNull类型全部转换成@""空字符串 (1)原始的json串:后端返回的json串里面包含类型NSString,NSArray,NSDictionary,NSNull类型。 {"status 阅读全文
posted @ 2016-09-26 10:19 学计算机的那个 阅读(2454) 评论(0) 推荐(0)
摘要:1场景 由于服务器的数据库中有些字段为空,然后以Json形式返回给客户端时就会出现这样的数据: 通过JsonKit 这个第三方库解析出来的数据就成了 "somevalue":null 这个数据类型不是nil 也不是 String。 解析成对象之后,如果直接向这个对象发送消息(eg:length,co 阅读全文
posted @ 2016-08-12 11:15 学计算机的那个 阅读(712) 评论(0) 推荐(0)
摘要:概念 对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。 一图以蔽之 再简单些说:浅复制就是指针拷贝;深复制就是内容拷贝。 集合的浅复制 (shallow copy) 集合的浅复制有非常多种方法。当你进行浅复 阅读全文
posted @ 2016-02-29 22:15 学计算机的那个 阅读(249) 评论(0) 推荐(0)
摘要:原文:http://blog.csdn.net/fanyiyao980404514/article/details/44864663在C++的内存模型中我们知道,我们通过虚函数列表来存储虚函数的虚拟内存地址,再数据块中加入一个指向虚函数列表的指针变量,通过指针变量来得到虚函数列表,再通过虚函数列表来... 阅读全文
posted @ 2016-01-10 08:42 学计算机的那个 阅读(857) 评论(0) 推荐(0)
摘要:原文: http://blog.csdn.net/hherima/article/details/8622948@代表“Objective-C”的标志,证明您正在使用Objective-C语言Objective-C语言关键词,@property与@synthesize配对使用。功能:让编译器自动编写... 阅读全文
posted @ 2016-01-02 10:30 学计算机的那个 阅读(412) 评论(0) 推荐(0)
摘要:本系列博文总结自《Pro Multithreading and Memory Management for iOS and OS X with ARC》如果您觉得我的博客对您有帮助,请通过关注我的新浪微博MicroCai支持我,谢谢!block 顾名思义就是代码块,将同一逻辑的代码放在一个块,使代码... 阅读全文
posted @ 2015-11-06 22:08 学计算机的那个 阅读(621) 评论(0) 推荐(0)
摘要:本文来源于ParseBlog的其中一篇博文《Objective-C Blocks Quiz》如果您觉得我的博客对您有帮助,请通过关注我的新浪微博MicroCai支持我,谢谢!你想知道Objective-C中blocks是怎么工作的吗?那么让我们通过几个测试题来了解下吧。本文所有的例子都经过以下版本的... 阅读全文
posted @ 2015-11-06 22:01 学计算机的那个 阅读(511) 评论(0) 推荐(0)
摘要:KVO简介在 Cocoa 的模型-视图-控制器 (Model-view-controller)架构里,控制器负责让视图和模型同步。这一共有两步:当 model 对象改变的时候,视图应该随之改变以反映模型的变化;当用户和控制器交互的时候,模型也应该做出相应的改变。KVO能帮助我们让视图和模型保持同步。... 阅读全文
posted @ 2015-10-25 09:08 学计算机的那个 阅读(248) 评论(0) 推荐(0)
摘要:Bird * aBird = [[Bird alloc] init]; [aBird fly]; 中对 fly 的调用,编译器通过插入一些代码,将之转换为对方法具体实现 IMP 的调用,这个 IMP 是通过 在 Bird 的类结构中的方法链表中查找名称为 fly 的 选标 SEL 对应的具体方法找到 阅读全文
posted @ 2015-10-19 22:28 学计算机的那个 阅读(421) 评论(0) 推荐(1)
摘要:要说清楚消息这个话题,我们必须先来了解三个概念 Class, SEL, IMP,它们在 objc/objc.h 中定义: typedef struct objc_class *Class; typedef struct objc_object { Class isa; } *id; typedef 阅读全文
posted @ 2015-10-19 16:40 学计算机的那个 阅读(297) 评论(0) 推荐(0)
摘要:(一)类的本质类对象(class object)与实例对象(instance object)类本身也是一个对象,是class类型的对象,简称“类对象”。在/usr/include/objc/objc.h 和 runtime.h 中找到对 class 与 object 的定义:Class 是一个 ob... 阅读全文
posted @ 2015-10-19 14:27 学计算机的那个 阅读(305) 评论(0) 推荐(0)
摘要:英文原文:Understanding Automatic Reference Counting in Objective-C自动引用计数(Automatic Reference Counting, ARC)把压在程序员们肩头的管理内存的重担卸除了不少,更不用说让跟踪内存泄漏那样的烦心事也少了很多。不... 阅读全文
posted @ 2015-10-19 09:42 学计算机的那个 阅读(211) 评论(0) 推荐(0)
摘要:1.范围任何继承了NSObject的对象,对基本数据类型无效。2.原理每个对象内部都保存了一个与之相关联的整数,称为引用计数器。当使用alloc、new、copy、mutableCopy创建一个对象的时,对象的引用计数器设置为1。给对象发送一条retain消息,可以使引用计数器+1。给对象发送一条r... 阅读全文
posted @ 2015-10-19 09:22 学计算机的那个 阅读(196) 评论(0) 推荐(0)
摘要:原文: Everything You Need to Know about iOS and OS X Deprecated APIs 如你所知,已废弃(Deprecated)的API指的是那些已经过时的并且在将来某个时间最终会被移除掉的方法或类。通常,苹果在引入一个更优秀的API后就会把原来的API 阅读全文
posted @ 2015-09-13 20:53 学计算机的那个 阅读(547) 评论(0) 推荐(0)