摘要: Method Swizzling 我们可以使用苹果的“黑魔法”Method Swizzling,Method Swizzling本质上就是对IMP和SEL进行交换。 Method Swizzling原理 Method Swizzing是发生在运行时的,主要用于在运行时将两个Method进行交换,我们 阅读全文
posted @ 2016-06-24 15:36 小菜鸟dxb 阅读(284) 评论(0) 推荐(0) 编辑
摘要: UITableView的简单认识 UITableView最核心的思想就是UITableViewCell的重用机制。简单的理解就是:UITableView只会创建一屏幕(或一屏幕多一点)的UITableViewCell,其他都是从中取出来重用的。每当Cell滑出屏幕时,就会放入到一个集合(或数组)中( 阅读全文
posted @ 2016-06-09 11:39 小菜鸟dxb 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 动态: 主要是将数据类型的确定由编译时,推迟到了运行时。 这个问题其实浅涉及到两个概念,运行时和多态。 简单来说,运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法。 现在,让我来想想OC的动态语言特性。OC的动态特性表现为了三个方面:动态类型、动态绑定、动态加载。之所以叫 阅读全文
posted @ 2016-05-24 23:01 小菜鸟dxb 阅读(4967) 评论(0) 推荐(1) 编辑
摘要: 1、copy关键字 1> 浅拷贝与深拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。 深拷贝是指拷贝对象的具体内容,而内存地址是自主分配的,拷贝结束之后,两个对象虽然存的值是相同的,但是内存地址不一样,两个对象也互不影响,互不干涉。 2> copy和mutableCopy 阅读全文
posted @ 2016-05-18 09:31 小菜鸟dxb 阅读(165) 评论(0) 推荐(0) 编辑
摘要: iOS内存管理方式: ARC Automatic Reference Counting 自动引用计数 MRC Manual Reference Counting 手动引用计数 更改管理方式: 内存管理的问题: 1、内存泄露:不再需要的对象没有释放。 2、野指针:正在使用的对象提前释放。 引用计数: 阅读全文
posted @ 2016-05-12 22:48 小菜鸟dxb 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreDa 阅读全文
posted @ 2016-05-11 19:59 小菜鸟dxb 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 1、KVC,即是指 NSKeyValueCoding,一个非正式的Protocol,提供一种机制来间接访问对象的属性。而不是通过调用Setter、Getter方法访问。KVO 就是基于 KVC 实现的关键技术之一。 Demo: @interface myPerson : NSObject { NSS 阅读全文
posted @ 2016-05-10 20:20 小菜鸟dxb 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 一 iOS中都有什么设计模式? 1.代理模式 2.观察者模式 3.MVC模式 4.单例模式 5.策略模式 6.工厂模式 二 各个设计模式的作用? (一)代理模式 在观察者模式中,一个对象任何状态的变更都会通知另外的对改变感兴趣的对象。这些对象之间不需要知道彼此的存在,这其实是一种松耦合的设计。当某个 阅读全文
posted @ 2016-05-10 19:56 小菜鸟dxb 阅读(21171) 评论(0) 推荐(1) 编辑
摘要: MVVM(Model-View-ViewModel) MVVM是什么? 我们都知道MVC(Model-View-Controller),这也是大部分开发者惯用的设计模式,Model 呈现数据,View 呈现用户界面,而 View Controller 调节它两者之间的交互。 但是稍微考虑一下,随着现 阅读全文
posted @ 2016-05-10 16:03 小菜鸟dxb 阅读(535) 评论(0) 推荐(0) 编辑