自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

翻译 干净的table view 代码

原文链接:http://www.objc.io/issue-1/table-views.htmlTable views是iOS应用中最常用的模块。因此,很多代码都间接或者直接地跟table view有关,像数据的供应,table view的更新,行为的控制,对于选中操作的反应,上面只是举得几个例子。在这篇文章中,我们将要展示让代码更简洁并且更好结构的技术。UITableViewCo

2013-10-07 14:34:24 1356

原创 如何知道iOS单元测试的代码覆盖率

修改test target的Build Setting中Generate Test Coverage Files 和Instrument Program Flow为YES在test target的Build Phases中的Compile Sources中添加需要被测量代码覆盖率的文件(.m,.mm)。注意,不需要测量代码覆盖率之前,test target中只需要包含SenTe

2013-09-17 22:21:45 1805

原创 如何创建cocoapods能够导入的库

简介cocoapods提供了大量的第三方库供我们使用,它大大方便了我们对于第三方库的管理。对于我们自己的库,cocoapods也是能进行管理的,下面就让我们来介绍一下如何创建自己的可供cocoapods管理的库。方法第一步:准备好你要用来创建库的源文件,这些源文件可以是某个工程里,也可以是一个单独的静态库里,这些都不重要,重要的是要有这些源文件。另外,这些元件需要使用git

2013-09-13 15:57:51 1533

原创 iOS单元测试中使用资源

在编写iOS的测试用例时,我们经常会要用到一些图片、音频、视频等文件来进行测试。如果这些文件是打包到工程里并且是在单元测试的target里的话,用法跟普通的资源会稍微不一样。平时我们要用应用程序中的资源文件时会用[NSBundle mainBundle]来获取资源文件,但是在test的target中,利用这个方法是无法获得资源文件的。这是因为test target跟应用程序的app不是在一个b

2013-09-13 15:56:44 793

原创 iOS应用程序沙箱

大家都知道,iOS的应用之间是不能通过文件来进行数据交互的,因为应用程序与文件系统的交互被限制在应用沙箱中。在安装一个新应用的时候,安装器会为应用创建一个home目录,将应用程序放在这个目录下,除此之外,还会创建一些其他的关键目录。这些目录组成了应用主要的文件系统。如下如所示:由于应用程序是在沙箱中,所以应用程序是不能访问沙箱以外的任何文件的。当然也有例外,例如使用公共的系统接口来访问

2013-08-20 23:11:13 1230

原创 类别和类扩展的区别

在iOS中,有一种机制可以使用户在没有远吗的情况下扩展类的功能,但不是通过继承,这就是类别。iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现。类别类别在不需要继承的情况下可以扩展类的功能。但类别不能添加类的属性和私有变量。类别可以用来扩展Cocoa中类的方法,也可以用来扩展用户自己的类中的方法。当我们查看系统头文件的时候能发现类似@i

2013-08-16 00:36:05 2253

原创 细数iOS中的设计模式(二)

命令模式命令模式将一个请求封装成一个对象,从而可以用不同的请求将客户端参数化,可以对请求进行排队和记录,并且支持撤销操作。请求回想会将一个或者多个行为和具体的接收者绑定在一起。命令模式将创建请求的对象和接收和执行请求的对象分离开来,以达到解耦的目的。在Cocoa中,NSinvocation类的设计就用到了命令模式。一个NSInvocation的实例中就封装了一个Objective-C的消息

2013-08-12 22:03:12 723

原创 KVO/KVC系列之二——KVC编程

在上篇KVO/KVC系列中,我们了解了什么是KVC,那么在实际的编码过程中,我们如何使用KVC呢?在Cocoa中,NSObject默认实现了NSKeyValueCoding协议,也就是说,我们不需要自己再去实现NSKeyValueCoding协议,这极大的方便了我们的编程。试用了KVC之后,我们不仅可以通过访问方法来设置和修改属性的值,也可以通过NSKeyValueCoding提供的方法set

2013-08-08 13:05:45 765

原创 细数iOS中的设计模式(一)

抽象工厂(Abstract Factory)为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。客户端与工厂里的具体对象能够进行解耦。讲到抽象工厂模式就需要讲到一下类簇。

2013-08-07 23:04:33 783

原创 KVO/KVC系列之一——什么是KVC

在iOS开发过程中,我们经常会听到或者用到KVO/KVC,但是对于什么是KVO和KVC,我们可能没有那么了解。下面先让我们来了解一下什么是KVC.在苹果的官方文档中是这样描述KVC的:它是一种通过字符串描述符而不是通过调用访问方法或者直接使用实例变量的非直接的访问对象属性的机制,

2013-08-05 23:28:12 2447 1

原创 ARC中内存管理相关的关键字

在iOS5中,苹果引入了一个新的概念:ARC(Automatic Reference Counting)。字面意思就是自动引用计数,也就是说你不需要自己再写retain、release等跟内存相关的代码了,编译器会全权负责这件事情。伴随着ARC的引入,Cocoa中也引入了一些跟ARC相关的关键字。strong:跟之前的retain是一个意思,只是在使用ARC之后,定义属性的时候建议使用

2013-08-03 23:14:07 715

原创 iOS中单例模式的实现

单例是设计模式中用的比较多的一种。在iOS中也经常能见到单例模式的使用。比如[UIApplicationsharedApplication],[NSUserDefaultsstandardUserDefaults]等等。那么,在我们自己实现一个单例模式的时候需要怎么做以及注意什么问题呢?单例模式分为两种,一种是只允许存在一个实例,无论通过什么方法创建的时候都只返回同一个实例

2013-07-31 13:14:30 894 1

翻译 轻量级的视图控制器

原文链接:http://www.objc.io/issue-1/lighter-view-controllers.html视图控制器经常是iOS工程里最大的文件,他们经常包含了很多不必要的代码。视图控制器基本上是代码里重用最少的部分。我们将着眼于是视图控制器瘦身相关的技术,来达到使代码可重用并且将代码移动到更合适的地方。示例代码已经在GitHub上了。将数据源和其他协议

2013-07-29 14:58:53 626

原创 第一篇CSDN博客

之前也开通过很多博客,有新浪、搜狐、网易。不过里面都是一些自己的想法,而且都没有坚持很长时间,由于自己是搞技术的,以前也总在网络上看一些别人些的博客文章什么的,但从来没有自己去写过,货真价实的一个只会索取不会回报的人。这次打断改变一下自己,让自己也变得更开放,同时也是拿这个博客作为一个自己学习的记录吧。由于本人技术有限,不会分享特别多高深的东西,主要是自己看到的一些比较好的英文文章,或

2013-07-26 16:34:17 522

symbian S60 2nd 自定义控件

上传几个自定义控件,大家互相学习。有listbox,grid,calendar和tree的,都是自己写的,S60 第二版,三版的可以自己参照写写。

2009-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除