摘要: 其实,状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。说白了,目的就是为了消除庞大的条件分支语句。这次想通过一个具体的例子,和大家一起学习状态模式。例子的内容是一天不同时间段内,不同的状态。时间是不同状态之间的分割点。好的,下面还是先给出这个例子的类结构图。上面的类结构图并不复杂,首先是抽象出一个状态的父类,通过工作类对时间点的设置来切换不同的状态。逻辑结构并不复杂,还是给出简易的代码,大家可以慢慢体会一下。Work类接口1234567891011#import <Foundation/Fo 阅读全文
posted @ 2012-08-16 11:17 Leon Chen2012 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 关于什么时间用self. , 其实是和Obj-c的存取方法有关, 不过网上很多人也都这么解答的, 那它为什么和存取方法有关? 怎么有关的? 并没有多少人回答出来. 同时关于内存管理的内容, 请大家看旺财勇士的Objective-C内存管理总结~CC专版 , 有些东西我就不多解释了. 进入正题, 我们经常会在官方文档里看到这样的代码: MyClass.h [/lang] @interface MyClass : NSObject { MyObject *myObject; } @property (nonatomic, retain) MyObject *myObject; ... 阅读全文
posted @ 2012-07-13 09:32 Leon Chen2012 阅读(125) 评论(0) 推荐(0) 编辑
摘要: XCode新建文件后,头部会有开发人员名称,公司名称等信息// Created by Deger on 11-5-24.// Copyright 2011 __MyCompanyName__. All rights reserved.要修改这两个名称可通过在terminal中运行defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "My Company";}'defaults write com.apple.Xcod 阅读全文
posted @ 2012-07-05 18:04 Leon Chen2012 阅读(149) 评论(0) 推荐(0) 编辑
摘要: MBProgressHUD(进展指示符库)地址:https://github.com/jdg/MBProgressHUD苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别。同时还提供了其他附加功能,比如虚拟进展 指示符,以及完成提示信息。整合到项目里也很容易,这里不细谈了。ASIHttpRequest(HTTP Network库)地址:http://allseeing-i.com/ASIHTTPReques 阅读全文
posted @ 2012-07-05 18:02 Leon Chen2012 阅读(158) 评论(0) 推荐(0) 编辑
摘要: iOS设备现在有三种不同的分辨率:iPhone320x480, iPhone 4 640x960, iPad 768x1024。以前程序的启动画面(图片)只要准备一个Default.png就可以了,但是现在变得复杂多了。如果一个程序,既支持iPhone又支持iPad,那么它需要包含下面几个图片:Default-Portrait.png iPad专用竖向启动画面 768x1024或者768x1004Default-Landscape.png iPad专用横向启动画面 1024x768或者1024x748Default-PortraitUpsideDown.png iPad专用竖向启动画面(Hom 阅读全文
posted @ 2012-07-05 17:58 Leon Chen2012 阅读(150) 评论(0) 推荐(0) 编辑