Three20在概念上分为四个部分:所有一切的中心是内核(Core),围绕在它周围是的网络(Network)、用户界面(UI)和样式(Style)。
内核(Core) 考虑到内核(Core)就像是Objective-C开发的瑞士军刀一样,我们应该花一些时间来熟悉它的功能特点。 通过Three20内核(Core),可以:
- 从NSData对象生成MD5哈希;
- 扩展Xcode的日志记录和调试能力;
- 对比以字符串为版本号的版本大小 (例如:版本号为3.0比版本号为3.1的版本更早);
- 给委托(delegate)创建不会引用计数(non-retaining)的数组(NSArrays)和字典(NSDictionaries)使用;
- 清除字符串中的HTML标签;
- 安全地在字典中(NSDictionaries)添加非空字符(non-empty, non-nil);
- 格式化相对时间(例如:5小时前)。
我们可以在Three20的Xcode项目中如下位置找到上述所有方法: Global => Core 和 Global => Additions => Core groups。
网络(Network) 如果我们正在构建基于Web API的应用,Three20的网络(Network)组件将会使我们的工作更加容易。Three20支持磁盘和内存方式的网络缓存。并且有一个建立在网络请求之上的处理层,使得更容易地处理网络返回数据。
用户界面(UI) Three20的用户界面(UI)包含了一个正在不断完善的通用视图和控制器集。著名的Facebook照片浏览和缩略图查看器就是其中之一。
如果想模仿iPhone邮件应用中的邮件编辑器,可以使用TTMessageController组件;如果想采用像Facebook那样的消息发送窗口,可以使用TTPostController组件。
还有支持Safari和YouTube的视图控制器。
Three20有一个功能强大的表格结构:单元格/条目结构。它在标准的苹果单元格类型基础上添加了几种特殊的单元格类型。通过它可以方便地创建一些包含内嵌控件的表格视图控制器。例如:
如果想在应用程序中显示一个更小的活动指示器,可以使用Three20中的活动标签,它提供了指示器+文本+进度条的显示方式。
使用TTLauncherView组件来模拟iPhone的桌面。
支持在顶部的分页标签。
样式(Style) Three20的样式组件能非常方便的声明和复用。通过自定义样式表, 可以用几个简单的声明就可以创建可以圆角的按钮、阴影、渐变和边框。下面是几个样式表元素的例子:
Three20是否适合你的项目? 如果我们是在创建于一个本地应用程序,需要与Web API通信或者访问Web上图片,那么Three20毫无疑问会帮我们节省大量时间。如果上面说的那些都不需要做,那么我们仍然可以在Three20中找 到很多有用的代码。另外,Three20是基于Apache2.0许可的,我们可以随心所欲的选择和使用,完全不用担心许可的问题。
简单总结一下吧: 对, 我们要的就是它。
现在我们了解了Three20的一些基本概念,下面让我们深入的了解它。 |