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

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

因为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有关,用这个绝对能让你感觉道生活有美好!先看一 段代码就体会到了。

  1. (void) loadAppDevMag    
  2. {    
  3.    NSURL *url = [NSURL URLWithString:@"http://www.appdevmag.com"];    
  4.    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];    
  5.    [request setDelegate:self];    
  6.    [request startAsynchronous];    
  7. }    
  8.     
  9. - (void)requestFinished:(ASIHTTPRequest *)request    
  10. {    
  11.    // Use when fetching text data    
  12.    NSString *responseString = [request responseString];    
  13. }   

JSON Framework(JSON支持)

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

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

  1. // JSON string -> NSDictionary    
  2.     
  3. NSString *jsonString = @"{\"foo\": \"bar\"}";    
  4.     
  5. NSDictionary *dictionary = [jsonString JSONValue];    
  6.     
  7. NSLog(@"Dictionary value for \"foo\" is \"%@\"", [dictionary objectForKey:@"foo"]);    
  8.     
  9. // NSDictionary -> JSON string    
  10.     
  11. NSString *newJsonString = [dictionary JSONRepresentation];   

Flurry(详尽的使用统计)

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

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

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

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

RegexKitLite(正则表达式支持)

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

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

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

Facebook iOS SDK(Facebook API类库)

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

地址: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调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单,举例说明

  1. [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图形绘图仪)

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

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

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

Three20(通用iOS库)

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

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

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

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

其他类库

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

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

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 《黑马程序员》 category分类的使用(Objective
    分类的作用:在不改变原来类的基础上,可以给类增加一些方法。使用注意 : ①  分类只能增加方法,不可以增加成员变量                ②  分类的方法在实现中可以访问成员变量,不过成员变量必须手动实现。               
    03-16
  • Objective-C学习—UIScrollView控件使用
    Objective-C学习—UIScrollView控件使用
    一、知识点简单介绍1.UIScrollView控件是什么?(1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限(2)当展⽰示的内容较多,超出⼀一个屏幕时,⽤用户可通过滚动⼿手势来查看屏幕以外的内容(3)普通的UIView不具备滚动功能
    03-16
  • Objective-C Runtime(转)
    博主地址: http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/曾经觉得Objc特别方便上手,面对着 Cocoa 中大量 API,只知道简单的查文档和调用。还记得初学 Objective-C 时把[receiver message]当成简单的方法调用,而无视了“发送消息”这句话
    03-08
  • iOS扩展——Objective-C开发编程规范 简单io扩展实验代码
    iOS扩展——Objective-C开发编程规范 简单io扩
      最近准备开始系统学习一个完整项目的开发流程和思路,在此之前,我们需要对iOS的开发变成规范进行更系统和详尽的学习,随意对编程规范进行了整理和学习。本文内容主要转载自:Objective-C-Coding-Guidelines-In-Chinese  此外,这篇文章所说的一些常见
    03-08
  • Objective-C利用协议实现回调函数
    实现一个显示文字为测试的视图,然后经过3秒钟测试文字变为回调函数文字。相应的截图如下:  实现的代码如下:定义协议:#import UIKit/UIKit.h @protocol NoteDelegate //回调函数 -(void)messageCallBack:(NSString *)string; @end 调用协议:#impor
    02-10
  • 刨根问底Objective-C Runtime(1)- Self & S
      刨根问底Objective-C Runtime(1)- SelfSuper - Chun Tips专注iOS开发 刨根问底Objective-C Runtime(1)- SelfSuper前言关于Objective-C Runtime一篇好的文档 : Understanding the Objective-C Runtime译文地址为: http://blog.cocoabit.com/blog/2
    02-10
  • Objective-C利用协议实现回调函数
    实现一个显示文字为测试的视图,然后经过3秒钟测试文字变为回调函数文字。相应的截图如下: 实现的代码如下:定义协议:#import UIKit/UIKit.h @protocol NoteDelegate//回调函数-(void)messageCallBack:(NSString *)string;@end  调用协议:#import Founda
    02-10
  • Objective-c开发中混合使用ARC
    首选“Compile Sources”的位置:选中工程-TARGETS-相应的target然后选中右侧的“Build Phases”,向下就找到“Compile Sources”了。如何在未使用arc的工程中引入一个使用了arc特性的文件:对相应的文件添加:-fobjc-arc参数如何在arc工程中引用未使用arc的文件
    02-10
  • Objective C运行时(runtime)技术总结,好强大
    前言:         Objective C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表、属性列表、变量列表,修改方法、属性,增加方法,属性等等,本文对相关的几个要点做了一个小结。目录:(1)使用class_replaceMethod/cla
    02-09
  • Programming With Objective-C---- Introductio
    a:link { color: rgba(88, 114, 210, 1); text-decoration: none }a:visited { color: rgba(88, 114, 210, 1); text-decoration: none }a:hover { color: rgba(173, 189, 248, 1); text-decoration: none }a:active { color: rgba(0, 0, 255, 1); text-decora
    02-09
点击排行