09 2016 档案
摘要:内存管理 1.什么是ARC? ARC是automatic reference counting自动引用计数,在程序编译时自动加入retain/release。在对象被创建时retain count+1,在对象被release时count-1,当count=0时,销毁对象。程序中加入autorelea
阅读全文
摘要:先来看看效果吧。 讲讲大概的实现思路:1、创建头部的视图和tableview,需要注意的是tableview要设置contentInset,contentInsent 的顶部要和头部视图的背景图的高度一样,否则会有空隙(或是有遮挡)。myTableView.contentInset = UIEdge
阅读全文
摘要:• copy: 用于希望保持一份传入值的拷贝,而不是值自身的情况,即把原来的对象完整的赋值到另外一地方,重新加载一内存区,一个地方变了不影响另一个地方的对象。 • assign: 简单的直接赋值,相当于说两个对象指向同个内存区,一个地方的变了,其他的也跟着改变。 • retain:释放旧的对象,将旧
阅读全文
摘要:weak 比 assign 多了一个功能就是当属性所指向的对象消失的时候(也就是内存引用计数为0)会自动赋值为 nil ,这样再向 weak 修饰的属性发送消息就不会导致野指针操作crash。 可能不太好理解下面我写了一个演示程序。 OC: 当程序中的注释被打开时,运行程序有可能会崩溃(有时候不崩溃
阅读全文
摘要:* 1.首先判断控制器是否有视图,如果没有就调用loadView方法创建:通过storyboard或者代码; * 2.随后调用viewDidLoad,可以进行下一步的初始化操作;只会被调用一次; * 3.在视图显示之前调用viewWillAppear;该函数可以多次调用; * 4.视图viewDid
阅读全文
摘要:1> KVO是基于runtime机制实现的 2> 当某个类的对象第一次被观察时, 系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的 setter 方法。 派生类在被重写的 setter 方法实现真正的通知机制(Personà NSKVONotifying_Pers
阅读全文
摘要:运行时机制,runtime库里面包含了跟类、成员变量、方法相关的API,比如获取类里面的所有成员变量,为类动态添加成员变量,动态改变类的方法实现,为类动态添加新的方法等 需要导入<objc/message.h><objc/runtime.h> 1> runtime,运行时机制,它是一套C语言库 2>
阅读全文
摘要:自动释放池以栈的形式实现:当你创建一个新的自动释放池时,它将被添加到栈顶。当一个对象收到发送autorelease消息时,它被添加到当前线程的处于栈顶的自动释放池中,当自动释放池被回收时,它们从栈中被删除, 并且会给池子里面所有的对象都会做一次release操作.
阅读全文
摘要:1> GCD是纯C语言的API,NSOperationQueue是基于GCD的OC版本封装 2> GCD只支持FIFO(先入先出)的队列,NSOperationQueue可以很方便地调整执行顺序、设置最大并发数量 3> NSOperationQueue可以在轻松在Operation间设置依赖关系,而
阅读全文
摘要:•为了完成手势识别,必须借助于手势识别器 UIGestureRecognizer • •利用UIGestureRecognizer,能轻松识别用户在某个view上面做的一些常见手势 • •UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能处理具体的手势 Ø
阅读全文
摘要:1.如果view的控制器存在,就传递给控制器;如果控制器不存在,则将其传递给它的父视图 2.在视图层次结构的最顶级视图,如果也不能处理收到的事件或消息,则其将事件或消息传递给window对象进行处理 3.如果window对象也不处理,则其将事件或消息传递给UIApplication对象 4.如果UI
阅读全文
摘要:•发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中 •UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow) •主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是
阅读全文
摘要:1.不接收用户交互 userInteractionEnabled = NO 2.隐藏 hidden = YES 3.透明 alpha = 0.0 ~ 0.01 4. 如果子视图的位置超出了父视图的有效范围, 那么子视图也是无法与用户交互的, 即使设置了父视图的 clipsToBounds = NO,
阅读全文
摘要:通过一番查找以后找到一个类UIActivityController,可以调用系统的social.framework中的分享接口。看下面的图就知道了,这个还是挺常见的 微信发布多图 借鉴了CSDN上的一个demo, 里面自定义了一个实现UIActivityItemSource协议的类 ShareIte
阅读全文
摘要:CALayer和UIView的关系 CALayer 负责视图中显示内容和动画 UIView 负责监听和响应事件
阅读全文
摘要:CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点 UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果 属性解析: type:动画过渡类型 subtype
阅读全文
摘要:iOS分类、延展和子类的区别 类别、延展、子类的区别 注解 1、为分类添加变量 第一步:添加一个变量 第二步:在源文件中添加对应的setter和getter方法(不能按照正常的setter和getter方法写,需要使用运行时) 2、在延展中为类添加了一个私有变量,怎么获取
阅读全文
摘要:很多时候需要知道服务器返回的图片是.png还是.jpg或者是.git, 两种方式 1,获取扩展名 //图片 NSString *image = @"4351141241.GIT"; //获取图片的扩展名,并且转换成小写 NSString *extension = image.pathExtensio
阅读全文
摘要:在C语言中不可改变的数据(量)就是常量 在C语言中有三种常量 字面量(直接量),就是直接写出来的,从写法上就可以看出值与类型等,例如:19,123.456等 名字常量(宏定义,宏替换),语法: 在代码一开始的位置写上 #define 名字 值 运行原理说明:程序要经过:编码->编译->链接->运行
阅读全文

浙公网安备 33010602011771号