iOS高效开发必备的9款Objective-C类库以及使用

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


ASIHttpRequest(HTTP Network库)
 
地址:http://allseeing-i.com/ASIHTTPRequest/
 
A:iPhone当然也有自己的HTTP NetworkAPI,那为什么要用ASIHttpRequest呢?因为官方的API简直跟话痨似的,太罗嗦了!ASIHttpRequest库极大的简化了网络通信,提供更先进的工具,什么文件上传工具,重定向处理工具、验证工具、等等。只要你手头的东西跟HTTP有关,用这个绝对能让你感觉道生活有美好
B:需添加类库:CFNetwork.framework、SystemConfiguration.framework,MobileCoreServices.framework,CoreGraphics.framework和libz.1.2.3.dylib

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

RegexKitLite(正则表达式支持)
 
地址:http://regexkit.sourceforge.net/RegexKitLite/
 
A:正则表达式大家都知道。但是iPhoneSDK居然当他不存在?这怎么能忍啊!果断用RegexKitLite。虽然叫的是Lite,但是功能很full。示例代码。
 
    //finds phone number in formatnnn-nnn-nnnn
   NSString *regEx =@"[0-9]{3}-[0-9]{3}-[0-9]{4}";
   for(NSString *match in [textView.textcomponentsMatchedByRegex:regEx]) {
       NSLog(@"Phone number is %@",match);
   }
B: 工程中添加libicucore.dylib frameworks。


SDWebImage(简化网络图片处理)
 
地址:https://github.com/rs/SDWebImage
 
A:用SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单,举例说明
 
[imageView setImageWithURL:[NSURLURLWithString:@"http://example.com/image.png"]];
 
类似的功能在Three20里也有,这个过会再说。相比而言,SDWebImage主要是提供一个小而精的简捷方便的解决方案

ZBarSDK(二维码扫描)

地址: http://zbar.sourceforge.net/iphone

B:(请注意导入包的顺序)需要导入:
 
1. Drag ZBarSDK into your Xcode project.
    3. Add these system frameworksto your project:
          * AVFoundation.framework (weak)
          * CoreMedia.framework (weak)
          * CoreVideo.framework (weak)
          * QuartzCore.framework
          * libiconv.dylib

SFHFKeychainUtils(储存用户密码)

苹果SDK自带的就有密码保护,使用方法很简单,如下:

1、引入Security.frameWork框架。

2、引入头文件:SFHKeychainUtils.h.

3、存密码:

[SFHFKeychainUtils storeUsername:@"dd" andPassword:@"aa"forServiceName:SERVICE_NAMEupdateExisting:1 error:nil];

[SFHFKeychainUtils deleteItemForUsername:@"dd" andServiceName:SERVICE_NAME error:nil];

4、取密码:

NSString *passWord=  [SFHFKeychainUtils getPasswordForUsername:@"dd"andServiceName:SERVICE_NAMEerror:nil];

FMDB(数据库使用)

以下是FMDB的一些基本使用,FMDB框架其实只是一层很薄的封装,主要的类也就两个:FMDatabase和FMResultSet;

其中的FMResultSet对象让我想起了android中sqlite的cursor集合啊。

FMDB的github地址是,https://github.com/ccgus/fmdb。

补充:是导入FMDB之后,还要记得导入iOS的sqlite3Framework,libsqlite3.0.dylib

Three20(通用iOS库)
 
 
地址:https://github.com/facebook/three20
 
Three20类库是Facebook自己做的,大而全是他最大的特色。把他整合到已有的项目中可能得费点周折,不过如果一开始你就用上了Three20,尤其是牵扯到很多web相关的项目的时候,你就能深刻体会到神马叫给力了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值