iOS高效开发必备的10款Objective-C类库

移动开发 iOS
有很多第三方的iOS开发的Objective-C类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。

因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。

MBProgressHUD(进展指示符库)

地址:​https://github.com/jdg/MBProgressHUD​

苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别。同时还提供了其他附加功能,比如虚拟进展 指示符,以及完成提示信息。整合到项目里也很容易,这里不细谈了。

ASIHttpRequest(HTTP Network库)

地址:​http://allseeing-i.com/ASIHTTPRequest/​

iPhone当然也有自己的HTTP Network API,那为什么要用ASIHttpRequest呢?因为官方的API简直跟话痨似的,太罗嗦了!ASIHttpRequest库极大的简化了网络通 信,提供更先进的工具,什么文件上传工具,重定向处理工具、验证工具、等等。只要你手头的东西跟HTTP有关,用这个绝对能让你感觉道生活有美好!先看一 段代码就体会到了。

(void) loadAppDevMag    {       NSURL *url = [NSURL URLWithString:@"http://www.appdevmag.com"];       ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];       [request setDelegate:self];       [request startAsynchronous];    }        - (void)requestFinished:(ASIHTTPRequest *)request    {       // Use when fetching text data       NSString *responseString = [request responseString];    }

JSON Framework(JSON支持)

地址:​http://stig.github.com/json-framework/​

如果你做的应用和网站服务器有交互,那就得用到JSON了。但事实上,iOS平台的原生类库根本就不支持JSON,这就略犀利了吧?不过JSON框 架满足了你的所有需求,包括一个解析器将JSON字符串解析成对象;以及一个生成器从对象生成字符串。这个库根本就是太流行了,JSON提过很多次了,具 体特点就不多讲了,所谓“一段代码胜千言”,下面用一段代码演示一下吧。

// JSON string -> NSDictionary        NSString *jsonString = @"{\"foo\": \"bar\"}";        NSDictionary *dictionary = [jsonString JSONValue];        NSLog(@"Dictionary value for \"foo\" is \"%@\"", [dictionary objectForKey:@"foo"]);        // NSDictionary -> JSON string        NSString *newJsonString = [dictionary JSONRepresentation];

Flurry(详尽的使用统计)

[[20190]]

地址:​http://www.flurry.com/product/analytics/index.html​

 

通过Furry你可以得到应用的用户人数,用户活跃度,用户来源等统计信息。但是他最厉害的地方是,你可以追踪应用本身的事件和错误记录,所有这些 数据都会在一个类似Google Analytics的界面上显示,这样就很容易掌握用户的行为和出现的问题。当然,这个星球上很多统计工具,但是这款是作者个人比较推崇的解决方案。

RegexKitLite(正则表达式支持)

地址:​http://regexkit.sourceforge.net/RegexKitLite/​

正则表达式大家都知道。但是iPhone SDK居然当他不存在?这怎么能忍啊!果断用RegexKitLite。虽然叫的是Lite,但是功能很full。示例代码。

// finds phone number in format nnn-nnn-nnnn    NSString *regEx = @"[0-9]{3}-[0-9]{3}-[0-9]{4}";    for(NSString *match in [textView.text componentsMatchedByRegex:regEx]) {        NSLog(@"Phone number is %@", match);    }

Facebook iOS SDK(Facebook API类库)

Facebook iOS SDK

地址:​https://github.com/facebook/facebook-ios-sdk​

大体来讲就是iPhone上的Facebook login,完全支持Facebook Graph API和the older REST api。如果你的应用跟Facebook有关,相信我,用这个吧。

SDWebImage(简化网络图片处理)

地址:​https://github.com/rs/SDWebImage​

用SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单,举例说明

[imageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.png"]];

类似的功能在Three20里也有,这个过会再说。相比而言,SDWebImage主要是提供一个小而精的简捷方便的解决方案

GData client(iPhone上所有Google相关服务的类库)

地址:​http://code.google.com/p/gdata-objectivec-client/​

名字就说明一切了。跟Google相关的,值得一提的是,这个项目很开放。有很多示例程序供下载。

CorePlot(2D图形绘图仪)

CorePlot

地址:​http://code.google.com/p/core-plot/​

CorePlot有很多解决方案将你的数据可视。,同时也会提供各种迷人的图形效果,比如棒状图、饼状图、线状图等等,在他们网站上也提供了大量的范例图形,很多股票价格应用,游戏分数,个人财务管理都在用。

Three20(通用iOS库)

Three20

地址:​https://github.com/facebook/three20​

Three20

Three20类库是Facebook自己做的,大而全是他最大的特色。把他整合到已有的项目中可能得费点周折,不过如果一开始你就用上了Three20,尤其是牵扯到很多web相关的项目的时候,你就能深刻体会到神马叫给力了。

其他类库

无论是与Web交互的API、可视化数据、加载网上的图片或创建一个社会功能的应用程序,这里列出的库等功能使开发更容易。如果你是一个iOS开发人员,在你的下一个项目开始之前,你一定要检查有没有使用这些库。

原文链接已经图片来源:​​10 iOS Libraries to Make Your Life Easier​

【编辑推荐】

  1. ​C++开发者快速学习Objective-C语言核心语法​
  2. ​Objective-C基础语法快速入门​
  3. ​iPhone开发入门守则:Objective-C编码规范​
  4. ​Android类库常用类型解析​
责任编辑:佚名 来源: oschina
相关推荐

2013-07-24 13:49:45

iOS高效开发

2014-04-01 10:50:42

iOS开发runtimeObjective-C

2011-04-08 10:51:17

Objective-CiOS

2011-07-25 17:31:49

iPhone Objective-

2012-04-23 11:00:56

iOS开发Objective-CJavaScript

2014-09-26 09:49:48

SwiftObjective-C

2011-07-28 15:11:23

iOS Objective-

2011-08-04 09:47:33

iOS Objective- JavaScript

2011-08-17 12:03:36

Objective-C

2011-08-12 10:27:52

Objective-C对象

2011-08-10 18:07:29

Objective-C反射

2011-08-03 16:22:05

Objective-C CodeBlocks

2011-07-29 15:47:21

iPhone开发 Objective- C

2011-05-11 11:20:26

Objective-C

2013-03-27 12:54:00

iOS开发Objective-C

2013-06-20 10:40:32

Objective-C实现截图

2011-05-11 15:58:34

Objective-C

2011-07-27 16:36:03

iphone Objective- 静态库

2014-05-13 10:12:17

iOS开发开源类库

2014-04-03 09:36:47

Objective-Cruby消息传递
点赞
收藏

51CTO技术栈公众号