- 博客(9)
- 资源 (2)
- 收藏
- 关注
转载 类别
类别类别是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没有源代码的类。类别使得无需创建对象类的子类就能完成同样的工作一、创建类别1、声明类别声明类别与声明类的形式很相似@interf
2017-05-24 11:25:13 184
转载 Block
Block简介Block是一种比较特殊的数据类型。它可以保存一段代码,在合适的时候取出来调用。Block的修饰ARC情况下1.如果用copy修饰Block,该Block就会存储在堆空间。则会对Block的内部对象进行强引用,导致循环引用。内存无法释放。解决方法:新建一个指针(__weak typeof(Target) weakTarget = Target )指
2017-05-23 23:12:48 256
转载 详解KVO
本文分为2个部分:概念与应用。概念部分旨在剖析KVO这一设计模式的实现原理,应用部分通过创建的项目,以说明KVO技术在iOS开发中所带来的作用;如果是作为是刚接触KVO的初学者,可以在了解基本原理后粗略看几遍底层实现原理,再认真阅读第二部分的应用内容“学会”怎么去使用KVO,往后再慢慢深入了解KVO这一“黑魔法”技术的实现原理。【本次开发环境: Xcode:7.2
2017-05-23 23:08:04 175
翻译 详解KVC
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态在访问和修改对象的属性。而不是在编译时确定,这也是iOS开发中的黑魔法之一。很多高级的iOS开发技巧都是基于KVC实现的。目前网上关于KVC的文章在非常多,
2017-05-23 22:11:14 321
转载 @property 属性类型归纳和介绍
1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题nonatomic:如果该对象无需考虑多线程的情况,请加入这个属性,这样会让编译器少生成一些互斥加锁代码,可以提高效率。2.readwrite与readonly(readwrite、readonly这两个属性的真正价
2017-05-23 21:07:00 1126
转载 内存管理
1 引用计数 在ObjC中,对象什么时候会被释放(或者对象占用的内存什么时候会被回收利用)? 答案是:当对象没有被任何变量引用(也可以说是没有指针指向该对象)的时候,就会被释放。 那怎么知道对象已经没有被引用了呢? ObjC采用引用计数(reference counting)的技术来进行管理: 1)每个对象都有一个关联的整数,称为引用计数器
2017-05-23 20:11:31 226
转载 面向对象
面向对象产生的原因有下面两点: 1、 计算机是帮助人们解决问题的,然而计算机终究是个机器,他只会按照人所写的代码,一步一步的执行下去,最终得到了结果,因此无论程序多么的复杂,计算机总是能轻松应付,结构化编程,就是按照计算机的思维写出的代码,但是人看到这么复杂的逻辑,就无法维护和扩展了。2、 结构化设计是以功能为目标来设计构造应用系统,这种做法导致我们设计程序时,不得不将客体所构成的
2017-05-23 19:28:21 202
转载 ios本地缓存机制
功能需求这个缓存机制满足下面这些功能。1、可以将数据缓存到本地磁盘。2、可以判断一个资源是否已经被缓存。如果已经被缓存,在请求相同的资源,先到本地磁盘搜索。3、可以判断文件缓存什么时候过期。这里为了简单起见这里,我们在请求url资源的时候,给每次请求的文件设定一个过期的时间。4、可以实现:如果文件已经被缓存,而且没有过期,这将本地的数据返回,否则重新请求ur
2016-09-29 09:46:53 181
佳博标签打印机Demo(Android,iOS,微信小程序,C#,Java),指令集包含(tspl、cpcl、esc等)
2022-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人