hpple(http://github.com/topfunky/hpple)用于解析HTML和XML,json-framework(http://code.google.com/p/json-framework/)用于解析和生成json,有完整的文档.
hpple需要把libxml加入到project中,使用示例:
#import "TFHpple.h"
NSData * data = [NSData dataWithContentsOfFile:@"index.html"];
TFHpple * doc = [[TFHpple alloc] initWithHTMLData:data];
NSArray * elements = [doc search:@"//a[@class='sponsor']"];
TFHppleElement * element = [elements objectAtIndex:0];
[e content]; // Tag's innerHTML
[e tagName]; // "a"
[e attributes]; // NSDictionary of href, class, id, etc.
[e objectForKey:@"href"]; // Easy access to single attribute
首先是把数据库文件加入到项目中,简单的从finder中拖到resources目录就行了,然后是从targets中添加libsqlite3.dylib,在任何需要使用sqlite api的类中添加头文件
,在使用sqlite功能之前得把数据库文件复制到Documets文件夹.
- (BOOL) initializeDb {
NSString *DATABASE_RESOURCE_NAME = @"test";
NSString *DATABASE_RESOURCE_TYPE = @"db";
NSString *DATABASE_FILE_NAME = @"test.db";
NSArray *searchPaths =
NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentFolderPath = [searchPaths objectAtIndex: 0];
dbFilePath = [documentFolderPath stringByAppendingPathComponent:
DATABASE_FILE_NAME];
[dbFilePath retain];
if (! [[NSFileManager defaultManager] fileExistsAtPath: dbFilePath]) {
NSString *backupDbPath = [[NSBundle mainBundle]
pathForResource:DATABASE_RESOURCE_NAME
ofType:DATABASE_RESOURCE_TYPE];
if (backupDbPath == nil) {
return NO;
} else {
BOOL copiedBackupDb = [[NSFileManager defaultManager]
copyItemAtPath:backupDbPath
toPath:dbFilePath
error:nil];
if (! copiedBackupDb) {
return NO;
}
}
}
return YES;
}
复制到Documents目录后,就可以通过c api使用sqlite了,通常遵循一个固定的调用过程:
1.sqlite3_open()准备一个要用的数据库
2.sqlite3_prepare(),sqlite3_prepare_v2()建立一个预处理SQL语句,sqlite3_prepare_v2()首选
3.sqlite3_step()执行语句
4.sqllite3_column_NNN()从结果集中取得类型化数据,NNN代表一个数据类型,如bytes,int,text等
5.sqlite3_finalize()释放资源
6.sqlite3_close()关闭数据库
在itunes上看了看,已经是中国的免费排行版No.1了,看来在中国的知名度非常高啊,下载试了下,比较烂,还不如之前windows mobile上用的ucweb,要速度没速度,比页面显示比自带的safari差远了.而且操作体验太差了,不到一分钟就删了.不过看来opera mini能在 app store上出现的可能性应该很高了,期待opera mini吧.
Cocoa框架包含两个核心框架:Foundation和Application Kit框架,在Cocoa开发中是必要的,至于其它框架则(Core Data,Sync Services,Address Book,Preference Panes,Screen Saver,Web Kit)是辅助和可选的,Foundation框架和Application Kit框架的区分标准在于用户界面。如果一个对象既不出现在用户界面上,也不是专门用于支持用户界面,那么它就属于Foundation框架,命令行工具和Internet服务器就是这样的例子.Foundation类层次的根是NSObject类,它(和NSObject及NSCopying协议一起)定义了基本的对象属性和行为.Foundation框架的剩余部分由几组相互关联的类和一些独立的类组成。有一些代表基本数据类型的类,如字符串、字节数组、用于存储其它对象的集合类;一些代表系统信息的类,如日期类;还有一些代表系统实体的类,比如端口、线程、和进程.Application Kit框架包含实现图形的、事件驱动的用户界面需要的所有对象:窗口、对话框、按键、菜单、滚动条、文本输入框—这个列表还在不断增加。Application Kit由超过125个类和协议组成。所有的类最终都从Foundation框架的NSObject类继承而来, Application Kit帮助您处理所有的细节,它可以高效地进行屏幕描画、和营建设备及屏幕缓冲区进行通讯,在描画之前清除屏幕上的区域,以及对视图进行裁剪。
Foundation:



Application Kit:

