上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 40 下一页
摘要: 9.1 数据持久化概述iOS中可以有四种持久化数据的方式: 属性列表、对象归档、SQLite3和Core Data9.2 iOS应用程序目录结构iOS应用程序运行在Mac os模拟器时候,有一下临时目录模拟器3.1.3为例子:/Users/tony/Library/Application Support/iPhone Simulator/3.1.3/ApplicationsIOS应用程序采用沙盒原理设计,ios每个应用程序都有自己的3个目录(Document,Library,tmp),互相之间不能访问。Documents存放应用程序的数据。Library目录下面还有Preferences和Ca 阅读全文
posted @ 2014-02-17 23:41 yulang 阅读(302) 评论(0) 推荐(0)
摘要: Objective-C中判断字符串是否包含其他字符串-(BOOL) hasPrefix:(NSString *) astring;检查字符串是否以astring开头;-(BOOL) hasSuffix:(NSString *) astring;检查字符串是否以astring结尾;使用方式:NSString*filename=@"hello,world";if([filename hasPrefix:@"hello"]){...}if([filename hasSuffix:@"world"]){...}如果想知道字符串内的某处是否包含 阅读全文
posted @ 2014-02-17 22:42 yulang 阅读(1376) 评论(0) 推荐(0)
摘要: wu 阅读全文
posted @ 2014-02-17 17:14 yulang 阅读(120) 评论(0) 推荐(0)
摘要: 定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。举例来说明接口隔离原则:(图1 未遵循接口隔离原则的设计) 这个图的意思是:类A依赖接口I中的方法1、方法2、方法3,类B是对类A依赖的实现。类C依赖接口I中的方法1、方法4、方法5,类D是对类C依赖的实现。对于类B和类D来说,虽然他们都存在着用不到的方法(也就 阅读全文
posted @ 2014-02-16 17:44 yulang 阅读(356) 评论(0) 推荐(0)
摘要: 3.1 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions。翻译过来,包含三层含义:高层模 阅读全文
posted @ 2014-02-16 17:39 yulang 阅读(2972) 评论(0) 推荐(1)
摘要: 肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。定义2:所有引用基类的地方必须能透明地使用其子类的对象。问题由来:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成 阅读全文
posted @ 2014-02-16 17:33 yulang 阅读(340) 评论(0) 推荐(0)
摘要: 开发封闭原则(Open-Closed Principle OCP)Software entities(classes,modules,functions etc) should open for extension ,but close for modification. 什么意思呢? 所谓开放封闭原则就是软件实体应该对扩展开发,而对修改封闭。开放封闭原则是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化,降低耦合,而开放封闭原则正是对这一目标的最直接体现。 开放封闭原则主要体现在两个方面: 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。 对修改封闭 阅读全文
posted @ 2014-02-16 17:30 yulang 阅读(344) 评论(0) 推荐(0)
摘要: 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。 说到单一职责原则,很多人都会不屑一顾。因为它太简单了。稍有经验的程序员即使从来没有读过设计模式、从来没有听说过单一职责原则,在设计软件时也会自觉的遵守这一重要原则,因为这是常识。 阅读全文
posted @ 2014-02-16 17:28 yulang 阅读(174) 评论(0) 推荐(0)
摘要: 部分内容摘自《Objective-C基础教程》和互联网引用计数 Cocoa采用了引用计数(reference counting)机制,每一个对象有一个关联的“整数retainCount”用于记录对象的使用情况。对象被引用时retaincount+1,外部环境结束对象的使用后retainCount-1.当retaincount为0的时候,该对象被销毁。 当我们使用alloc、new或者copy的我们需要销毁这个对象。release函数,只是将对象的retainCount值减1,并不是删除对象。当retainCount==0的时候,系统会发给对象一个dealloc消息,另外:千万不要手动... 阅读全文
posted @ 2014-02-16 16:53 yulang 阅读(311) 评论(0) 推荐(0)
摘要: 复制代码SomeObject *obj = [[SomeObject alloc] initWithCenter:centerPoint radius:radius];和复制代码SomeObject *obj =[SomeObject alloc];[obj initWithCenter:centerPoint radius:radius];这两句不是等效的。第二句的执行结果可能返回无效对象。 阅读全文
posted @ 2014-02-16 16:22 yulang 阅读(215) 评论(0) 推荐(0)
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 40 下一页