摘要: 转自:http://wtlucky.github.io/geekerprobe/blog/2013/03/19/singleton/本学期开了一门课程叫做《软件体系结构》,讲的主要是设计模式的东西,而我在之前也看过设计模式的书,正好借此机会来整理一下自己所学到的知识,因为自己在做iOS开发,所以基本上这23种设计模式我都通过objective-C来实现了。此系列文章的类图都是来自《设计模式之禅》,有兴趣的同学可以去买这本书看。话说,在编码编到一定的程度以后,由于代码体系的庞大,结构的复杂,自然就会上升到设计模式高度,而现在的软件设计又基本都是面向对象的,所以有了设计模式作支持,可以使软件更加的 阅读全文
posted @ 2013-09-16 11:23 lihuang 阅读(323) 评论(0) 推荐(1) 编辑
摘要: 类别类别是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没有源代码的类。类别使得无需创建对象类的子类就能完成同样的工作一、创建类别1、声明类别声明类别与声明类的形式很相似@interfaceNSString(NumberConvenience)-(NSNumber *)lengthAsNumber;@end//NumberConvenience这个声明有两个特点:(1)现有的类位于@interface关键字之后,其后是位于圆括号中的类别名称。. 阅读全文
posted @ 2013-09-13 17:15 lihuang 阅读(222) 评论(0) 推荐(0) 编辑
摘要: from:http://article.ityran.com/archives/1143有这样一种情形:当我们正在快乐的致力于我们的app时,并且什么看都是无比顺利,但是突然,坑爹啊,它崩溃了。(悲伤地音乐响起)我们需要做的第一件事就是:不要惊慌。修复崩溃不是很困难的。假如你崩溃了,并且胡乱的改些东西,而且还在不停的念着咒语希望bug神奇的自动消失,你大多数情况下都会使情况更麻烦。相反的,你需要知道一些系统的方法,并且学习怎么找到崩溃和他的原因。第一件需要知道的就是在你的代码中准确的找到crash发生的地方:在那个文件,那一行。Xcode debugger将会帮助你,但是你需要懂得怎么样最好的 阅读全文
posted @ 2013-09-11 14:45 lihuang 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。比如下面张图片,本来是设计来做按钮背景的:button.png,尺寸为:24x60现在我们把它用作为按钮背景,按钮尺寸是150x50:[java]view plaincopy//得到view的尺寸CGSizeviewSize=self.view.bounds.size;//初始化按钮UIButton*button=[[UIButtonalloc]init] 阅读全文
posted @ 2013-09-07 10:27 lihuang 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 社区成员taonavy分享init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身loadView方法当view需要被展示而它却是nil时,viewController会调用该方法。不要直接调用该方法。如果手工维护views,必须重写该方法。如果使用IB维护views,必须不能重写该方法。loadView和IB构建viewviewDidLoad方法重写该方法以进一步定制view。在iPhone OS 3.0及之后的版本中,还应该重写viewDidUnload来释放对view的任何索引。viewDidLoad后调用数据Model 阅读全文
posted @ 2013-08-13 10:09 lihuang 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.devtang.com/blog/2013/04/29/the-missing-objc-keywords/前言Steffen Itterheim是《Learn Iphone and Ipad Cocos2d Game Development》作者。cocos2d和cocos2d-x现在已成为著名的游戏开发引擎。在AppStore上有超过100个游戏是基于Cocos2D。Steffen Itterheim在他的博客中总结了 Objective-C 2.0 所有的编译器保留字,并且对这些保留字做了介绍和使用示例。这些保留字如下:@class@defs@protoco 阅读全文
posted @ 2013-08-09 17:18 lihuang 阅读(143) 评论(0) 推荐(0) 编辑
摘要: IOS的工程目录结构和生命周期·simple table文件夹:工程相关源代码和配置文件 BIDAppDelegate : 委托的声明和实现 BIDViewController: 视图控制类的声明和实现 xib文件: 视图文件,提供给interface builder(IB)设计和编辑视图·supporting files: main.m和资源文件 xxx-info.plist:包含应用程序相关属性列表,如版本,程序名等 .pch文件:预编译头文件,相当于MFC里的stdafx.h,默认已经包含了常用 的头文件 .strings文件:国际化字符串资源 图片,音视频等其他资源 阅读全文
posted @ 2013-08-06 11:31 lihuang 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接)。此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便。从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的ios版本,可以使用第三方库来解析Json。本文将介绍TouchJson、 SBJson 、JSONKit 和 iOS5所支持的原生的json方法,解析国家气象局API,Tou 阅读全文
posted @ 2013-08-06 11:25 lihuang 阅读(146) 评论(0) 推荐(1) 编辑
摘要: 一、UITableView概述UITableView继承自UIScrollView,可以表现为Plain和Grouped两种风格。 UITableView有两个Delegate分别为:dataSource和delegate。 ·dataSource是UITableViewDataSource类型,主要为UITableView提供显示用的数据(UITableViewCell),指定UITableViewCell支持的编辑操作类型(insert,delete和reordering),并根据用户的操作进行相应的数据更新操作,如果数据没有更具操作进行正确的更新,可能会导致显示异常,甚至cru 阅读全文
posted @ 2013-08-06 11:23 lihuang 阅读(387) 评论(0) 推荐(0) 编辑
摘要: NSString *******************************************************************************************///一、NSString/*----------------创建字符串的方法----------------*///1、创建常量字符串。NSString *astring = @"This is a String!";//2、创建空字符串,给予赋值。NSString *astring = [[NSString alloc] init];astring = @"Thi 阅读全文
posted @ 2013-08-06 11:21 lihuang 阅读(200) 评论(0) 推荐(0) 编辑