为你的视图建立一个基类!

题目中引人注目的感叹号,在这句话的作用不是惊讶,而表达的是,应该这样做。为所有视图建立基类,利用继承和多态的特性,更好地约束视图类的代码和风格。

READ MORE

上架Appstore背后的故事

前言

众说周知,iOS系统对第三方APP拥有很强力的控制权,有别于安卓系统上可以从任意地方下载,苹果保证了每一个安装在iOS系统中的APP都是经过官方认证的。那么在这表层现象的背后,引发我们的思考,苹果是如何保证认证。

READ MORE

苹果如何在多尺寸屏中适配

本文的标题是个问句,但是在iOS实际开发中程序员即使不知道这个问题答案也能开发,因为设计师会切出@1x,@2x,@3x这几种图片,开发者只需要放到对应位置即可。本文从问句出发,从基础概念和苹果的策略等方面进行解读,探究原理,体会优美。

READ MORE

抽象工厂和你们口中的“类簇”

类簇可以说是Objective-C语言中比较重要的设计,Apple在官方文档中用一篇文章来介绍这个概念,尽管文章点到为止,并没有深入到内部机制,但是也用了详细的例子来说明类簇的设计是多么优秀。Apple在文档中称类簇是基于抽象工厂模式来设计的,如果你对抽象工厂的定义不清晰,可能会问,抽象工厂是什么?如果你对抽象工厂的定义清晰,有可能会问,类簇的设计真的是基于抽象工厂模式吗?本文站在设计模式的源头,对类簇进行挖掘解读。

READ MORE

iOS单例模式详细讲解(单例模式不断完善的过程)

在iOS中有很多的设计模式,有一本书《Elements of Reusable Object-Oriented Software》(中文名字为《设计模式》)讲述了23种软件设计模式,这本书中的设计模式都是面向对象的,很多语言都有广泛的应用,在苹果的开发中,当然也会存在这些设计模式,我们所使用的无论是开发Mac OX系统的Cocoa框架还是开发iOS系统的Cocoa Touch框架,里面的设计模式也是由这23种设计模式演变而来。本文着重详细介绍在开发iOS时采用的单例模式,从设计过程的演变和细节的完善进行分析,相信大家能够从中获得重要的思路原理而不是仅仅知道应该这么写单例模式却不知为何这么写,当然,理解透彻后,为了我们的开发效率,我们可以将单例模式的代码封装到一个类中然后定义成宏,适配于ARC和MRC模式,让开发效率大大提高。这些操作在本文中都会一一讲到,接下来就进入正题。

READ MORE

刨根问底,Block竟然是?

对于iOS开发者来说,Block就像一件哆啦A梦口袋中的宝贝,帮助我们简化代码,实现功能。但是哆啦A梦这部动画片中并没有人好奇这些宝贝是如何实现的,但是作为程序猿,应该要学会刨根问底,了解本质,本文,就深入浅出地讲解Block的实现。

READ MORE

Runtime和它的消息机制

Objective-C这门语言,众所周知,是对C进行了扩展,具体来说进行了两个方面的扩展,面向对象的特性和smalltalk中的消息传递。而消息传递机制归根结底是建立在Runtime库上。正是这种机制,决定了Objective-C是一门动态语言,而同样是对C扩展的C++,是静态的。Objective-C将很多决定性的操作依靠Runtime在运行时处理,而C++仅仅在编译时就决定了如何处理

READ MORE

iOS中那些精妙的设计模式

iOS开发中,cocoa touch框架是一个非常稳定和成熟的框架,这样的一个优秀框架,必然少不了设计模式的存在。本文将设计模式的讲解过渡到iOS设计中,体会历史沉淀下来的设计模式的精妙

READ MORE

找零钱

给定一个数组,数组中为不同的数代表不同钱的面值,同时给定一个需要兑换零钱的钱数,任意使用不同面值不同数量的钱来兑换,求一共有多少种方法

READ MORE