随笔分类 -  IOS技术

摘要:Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数新建一个Person类,增添属性#import <Foundation/Foundation.h>@interface C_Person : NSObject@property(nonatomic,assign) int pid;@property(nonatomic,strong) NSString* name;@property(nonatomic,assign) float height;@end在一个引用Person的类的.M中#import "C_ViewContr 阅读全文
posted @ 2013-04-15 15:37 少年0寂寞 阅读(428) 评论(0) 推荐(0)
摘要:一,概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。二,使用方法系统框架已经支持KVO,所以程序员在使用的时候非常简单。1. 注册,指定被观察者的属性, 为了正确接收属性的变更通知,观察对象必须首先发送一个addObserver:forKeyPath:options:context:消息至被观察对象,用以传送观察对象和需要观察的属性的关键路径,以便与其注册。选项参数指定了发送变更通知时提供给观察者的信息。使用NSKeyValueObser 阅读全文
posted @ 2013-04-15 10:46 少年0寂寞 阅读(1300) 评论(0) 推荐(0)
摘要:contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480contentInset是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset = (0 ,100),那么你的 阅读全文
posted @ 2013-04-12 14:21 少年0寂寞 阅读(182) 评论(0) 推荐(0)
摘要:委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol(参考博文:objective-c协议(protocol))可以很方便的实现这种设计模式。什么是代理?苹果的官方文档给了很清晰的解释:Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object. The delegating object keeps a reference to the other 阅读全文
posted @ 2013-04-12 10:37 少年0寂寞 阅读(263) 评论(0) 推荐(0)
摘要:Modol View Controller(MVC)是一种最早的也是最成功的可重用的设计模式,70年代的时候首次在smaltalk编写的程序中成功使用。基于MVC设计模式,Cocoa整体架构可以划分为三个子系统:Model, View, Controller,我们可以相应的理解为:数据模型,视图和控制器。Modol View和Controller的角色要想理解MVC设计模式中每个子系统的角色,我们就需要理解一个应用程序的功能和行为。我们知道一个应用程序通常需要存储数据信息,检索数据信息以及把这些数据信息呈现给用户,同时还要允许用户对数据进行编辑(增删查改等操作)。那么MVC的角色就分别为:Mo 阅读全文
posted @ 2013-04-12 10:32 少年0寂寞 阅读(181) 评论(0) 推荐(0)
摘要:单例模式用于当一个类只能有一个实例的时候,通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据。用单例模式加以控制是非常有必要的。单例模式需要达到的目的1.封装一个共享的资源2.提供一个固定的实例创建方法3.提供一个标准的实例访问接口单例模式的创建本文以创建一个MySingletonClass的单例模式为例。首先,我们需要定义一个类MySingletonClass.[cpp]view plaincopy@interfaceMySingletonClass:NSObject{}并且为其添加一个类方法(注意,这 阅读全文
posted @ 2013-04-12 10:27 少年0寂寞 阅读(147) 评论(0) 推荐(0)
摘要:什么是CategoryCategory模式用于向已经存在的类添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。新添加的方法同样也会被被扩展的类的所有子类自动继承。当知道已有类中某个方法有BUG,但是这个类是以库的形式存在的,我们无法直接修改源代码的时候,Category也可以用于替代这个已有类中某个方法的实体,从而达到修复BUG的目的。然而却没有什么便捷的途径可以去调用已有类中原有的那个被替换掉方法实体了。需要注意的是,当准备有Category来替换某一个方法的时候,一定要保证实现原来方法的所有功能,否则这种替代就是没有意义而且会引起新的BUG。和子类不同 阅读全文
posted @ 2013-04-12 10:25 少年0寂寞 阅读(138) 评论(0) 推荐(0)