摘要: what is blockBlocks are a language-level feature added to C, Objective-C and C++, which allow you to create distinct segments of code that can be passed around to methods or functions as if they were values. Blocks are Objective-C objects, which means they can be added to collections like NSArray or 阅读全文
posted @ 2014-01-06 11:29 路途遥远 阅读(2354) 评论(0) 推荐(0) 编辑
摘要: 面向对象的基本概念是 封装、继承、多态与抽象。但面向对象设计呢?开放关闭原则 :模块对扩展开放,对修改关闭。里氏置换原则 :如果调用的是父类的话,那么换成子类也可以完成。依赖倒转原则 :要针对接口编程,而不是实现编程。接口隔离原则 :每个接口应该代表一种角色。合成/复用原则 :少继承,多合成。最小知识原则 :不要和陌生人说话。创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责 阅读全文
posted @ 2014-01-06 11:28 路途遥远 阅读(308) 评论(0) 推荐(0) 编辑
摘要: KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。 addObserver: forKeyPath: options: context: 方法注册观察者。-(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary*)changecontext:(void*)context;回调方法。removeObserver: forKeyPath:; 撤销观察者。KVC是KeyValueCoding的简称,它是一种可以直接通 阅读全文
posted @ 2014-01-06 10:19 路途遥远 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 【原创】http://www.cnblogs.com/luoguoqiang1985/冒泡排序:通过N-1次对剩余未排序元素中最大(小)元素的上浮来实现排序,上浮过程通过交换相邻元素实现。选择排序:通过N-1次将剩余未排序元素中最大(小)元素放置到数组尾部来实现排序。插入排序:插入排序使用的是增量(incremental)方法;在排好子数组A[1..j-1]后,将A[j]插入,形成排好序的子数组A[1..j];OC例子:NSMutableArray+SortTools.h//比较算法的块定义//若需要置换返回YES,否则返回NOtypedef BOOL (^compareElement)(NS 阅读全文
posted @ 2014-01-06 08:24 路途遥远 阅读(3601) 评论(0) 推荐(0) 编辑