首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
OC 设计模式
】的更多相关文章
OC 设计模式
设计模式 一种或几种被所有程序员广泛认同的,有某些特定功能,或者实现某些特殊作用的编码格式 单例模式 键值编码(KVC) 键值观察(KVO) 观察者模式() 工厂模式(工厂方法) ps:MVC && MVVM && CVC 一.单例模式 #import <Foundation/Foundation.h> /* 单例模式 1.通常情况下,一个工程只有一个单例类. 2.我们将一个类选中,将它作为单例类. 3.在整个工程中这个类所创建的对象是唯一并且不能被释放 作用:…
OC—设计模式-通知的使用
通知 通知(广播) 可以一对多的发送通知(一个发送者 多个观察者) 特别注意:在发送者 发送通知的时候,必须有观察者 发送者,就是注册一个通知中心,以他为中心,发送消息 通过通知的名字,来判断是哪个通知 例子:老师通知男学生和女学生来开班会. 分析:老师是一个发送中心,则学生需要注意老师的发送的消息,他们为观察者 在老师的类里 //建一个通知中心 -(void)speak{ [[NSNotificationCenter defaultCenter]postNotificationName:@"老…
OC 设计模式——单例模式
单例模式的作用:可以保证在程序运行过程,一个类只有一个实例,而且这个实例易于供外界访问.永远只分配一次内存给这个类.由于在调用alloc方法的时候,都会调用allocWithZone,所以要重写这个方法,保证只分配一次内存. dispatch_once这个方法可以保证只调用一次,并且会自动加锁,线程安全. 在6.0之前的版本中修改工程为非ARC Xcode6.3下设置,修改工程在非ARC下: 定义宏来实现单例的通用性.在拼接宏的时候不能使用注释.最后面不能加/. // ## : 两个#号连接字符…
[转载]iOS面试题总
转载自:http://blog.sina.com.cn/s/blog_67eb608b0101r6xb.html (2014-06-13 20:23:33) 转载▼ 标签: 转载 crash 原文地址:iOS面试题总作者:唯一的弟子 1.简述OC中内存管理机制.与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,readonly,assign,retain,copy,nonato…
iOS 面试题 2
1. 描述应用程序的启动顺序. 1.程序入口main函数创建UIApplication实例和UIApplication代理实例 2.在UIApplication代理实例中重写启动方法,设置第一ViewController 3.在第一ViewController中添加控件,实现对应的程序界面. 2.为什么很多内置类如UITableViewControl的delegate属性都是assign而不是retain?请举例说明. 防止循环引用, Student * str=[]; Teac…
iOS 面试题整理(带答案)二
第一篇面试题整理: http://www.cocoachina.com/bbs/read.php?tid-459620.html 本篇面试题同样:如答案有问题,欢迎指正! 1.回答person的retainCount值,并解释为什么 Person * per = [[Person alloc] init]; self.person = per; 2 2.这段代码有什么问题吗: @implementation Person - (void)setAge:(int)newAge { self.age…
iOS 重构AppDelegate
一.Massive AppDelegate AppDelegate 是应用程序的根对象,它连接应用程序和系统,确保应用程序与系统以及其他应用程序正确的交互,通常被认为是每个 iOS 项目的核心. 随着开发的迭代升级,不断增加新的功能和业务,它的代码量也不断增长,最终导致了 Massive AppDelegate. 在复杂 AppDelegate 里修改任何东西的成本都是很高的,因为它将会影响你的整个 APP,一不留神产生 bug.毫无疑问,保持 AppDelegate 的简洁和清晰对于健康的 i…
设计模式之观察者模式(关于OC中的KVO\KVC\NSNotification)
学习了这么久的设计模式方面的知识,最大的感触就是,设计模式不能脱离语言特性.近段时间所看的两本书籍,<大话设计模式>里面的代码是C#写的,有一些设计模式实现起来也是采用了C#的语言特性(C#的API,抽象类,在OC中是没有抽象类.没有多继承关系),<设计模式之禅>里面的代码是JAVA写的,与OC差距也是比较大. 但是我想,这些都不是问题,学习设计模式主要学习的是其中的思想,并将之改造成自己所熟悉语言的模式,大同小异.所需要注意的是,在学习的过程中,将之与语言结合起来,多思考.多实践…
OC中的单例设计模式及单例的宏抽取
// 在一个对象需要重复使用,并且很频繁时,可以对对象使用单例设计模式 // 单例的设计其实就是多alloc内部的allocWithZone下手,重写该方法 #pragma Person.h文件 #import <Foundation/Foundation.h> @interface Person : NSObject <NSCopying,NSMutableCopying> + (instancetype)sharePerson; // 给类提供一个创建单例对象的类工厂方法 @e…
【OC加强】辛格尔顿和[NSFileManager defaultMagager]以及其他设计模式
我们在工作中使用文件NSFileManager上课时间,创建发现1对象,此2同样的对象地址: NSFileManager *file1=[NSFileManager defaultManager]; NSFileManager *file2=[NSFileManager defaultManager]; NSLog(@"%@,%@",file1,file2); 核心是:这个类的defaultManager方法利用的是一种单例模式,即仅仅要这个程序还在执行.那么整个执行期间仅仅能存在1个…