`
jsntghf
  • 浏览: 2544579 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

PlausibleDatabase在iOS中的应用

    博客分类:
  • iOS
阅读更多

和FMDB一样,这也是一个sqlite的objective-c的封装库,接口和FMDB一样,此外还支持sql的预编译以及参数绑定。

 

首先,需要将PlausibleDatabase.framework以及libsqlite3.0.dylib加入到项目中。

 

头文件:

 

#import <UIKit/UIKit.h>

@class PLSqliteDatabase;

@interface sqliteViewController : UIViewController {
	PLSqliteDatabase *db;
}

@property (nonatomic, retain) PLSqliteDatabase *db;

- (NSArray *)getBooks;

@end

 

实现文件:

 

#import "sqliteViewController.h"
#import <PlausibleDatabase/PlausibleDatabase.h>

@implementation sqliteViewController

@synthesize db;

- (id)init
{
	if (self = [super init]) {
		NSString *path = [[NSBundle mainBundle] pathForResource:@"CaseDatabase" ofType:@"sqlite"];
		PLSqliteDatabase *_db = [[PLSqliteDatabase alloc] initWithPath:path];
		self.db = _db;
		[_db release];
		if (![db open])
			NSLog(@"Could not open database");
	}	
	return self;
}

- (NSArray *)getBooks
{
	NSMutableArray *books = [[NSMutableArray alloc] initWithCapacity:0];
	id<PLResultSet> results = [db executeQuery:@"SELECT `ID`,`TITLE`,`COVER`,`DOCTOR` FROM `BOOKS` ORDER BY	`UPDATE_TIME` DESC"];
	while ([results next]) {
		NSDictionary *row = [[NSDictionary alloc] initWithObjectsAndKeys:
							 [NSNumber numberWithInt:[results intForColumn: @"ID"]], @"ID", 
							 [results stringForColumn:@"TITLE"], @"TITLE",  
							 [results stringForColumn:@"COVER"], @"COVER", 
							 [results stringForColumn:@"DOCTOR"], @"DOCTOR", nil];		
		[books addObject:row];
		NSLog(@"%@", books);
		[row release];
	}
	[results close];
	return books;
}

- (void)viewDidLoad {
    [super viewDidLoad];
	[self init];
	[self getBooks];
}

- (void)dealloc {
    [super dealloc];
}

@end
分享到:
评论
1 楼 xinlidexiaoman 2013-06-26  
参数自动绑定用哪个去弄呢?

相关推荐

    IOS7应用开发入门经典.第5版.pdf.zip

    5. **事件处理**:学习如何响应用户触摸和手势,以及如何在应用间进行导航。这涉及到UIControl对象、手势识别器(Gesture Recognizers)以及导航控制器(Navigation Controller)的使用。 6. **数据持久化**:iOS...

    iOS旧版应用下载v5.0.zip

    在iOS操作系统中,旧版应用下载是一个常见的需求,特别是在用户希望保持特定软件兼容性或避免新版本中的问题时。标题“iOS旧版应用下载v5.0.zip”表明这是一个资源包,提供了iOS系统旧版本(v5.0)的应用程序。这种...

    iOS 11应用开发基础教程Swift4.0

    在iOS 11应用开发中使用Swift 4.0,可以让开发者享受到更快速的编码体验以及对现有Swift 3.0代码更好的兼容性。 进行iOS 11应用开发需要一些基础的系统和软件支持。首先,需要在Mac电脑上安装MacOS 10.12.6操作系统...

    用HTML5开发ios应用

    开发者可以创建一个纯HTML5的Web应用,然后在iOS应用中通过WebView加载。 ### 关键技术 1. **HTML5的新特性**:如离线存储(localStorage)、拖放功能、媒体元素(video/audio)、canvas绘图、geolocation定位等,...

    iOS旧版应用下载v5.1.zip

    在IT行业中,尤其是在移动应用开发领域,iOS操作系统不断更新迭代以提供更好的性能和新功能。然而,有时用户可能需要回溯到旧版本的应用程序,这可能是由于兼容性问题、新版本的问题或者是用户对旧功能有特定需求。...

    iOS 9.1应用开发基础教程

    在本教程中,我们将深入探讨“iOS 9.1应用开发基础”,这是一门适合初学者的课程,旨在帮助你掌握Apple的移动操作系统上的应用程序构建技术。iOS 9.1是苹果公司为iPhone、iPad以及iPod touch设备推出的一个重要版本...

    斯坦福 iOS7应用开发 shutterbug

    在Shutterbug中,你会学习如何使用UIImagePickerController来集成系统相机,让用户能够直接在应用内拍照。同时,还要了解如何使用UIImageView显示所拍的照片,并实现滑动浏览功能。 接下来,课程会介绍Core Image...

    iOS7应用开发 assignment 3源代码(Stanford iOS7

    这个项目对于初学者来说是一个宝贵的参考资料,因为它展示了如何在实际环境中应用iOS开发的技术和概念。 【描述】斯坦福iOS7应用开发assignment 3源代码提供了已完成的大部分作业要求。这个源代码库包含了一个或多...

    IOS微信移动应用扫码登录DEMO

    这个"IOS微信移动应用扫码登录DEMO"就是一个典型的示例,它展示了如何在iOS应用中集成微信SDK,实现在应用内部生成二维码,并通过微信客户端扫描进行登录。 首先,我们需要了解的是微信开放平台。微信开放平台提供...

    iOS 应用逆向工程 分析与实战

    进而分析使用这些工具时的思考方式和碰到问题时的解决思路,最后以社交应用消息拦截、iOS电话相关操作等4个极具代表性的实例总结iOS应用逆向工程在实战中发挥的关键作用。本书先授你以渔,再授你以鱼,多处独家内容...

    iOS旧版应用下载v5.0 By:Time丨Brand.zip

    在这个案例中,这个ZIP文件包含了iOS旧版应用的下载文件,可能是通过某种方式从App Store或其他来源获取的。 "ios itunes"标签表明这个话题与iOS设备的管理工具iTunes有关。iTunes曾经是苹果用户管理和同步iOS设备...

    iOS获取手机安装的所有应用信息(bundle id,icon,名称等)

    它可以通过`CFBundleIconFiles`键在应用的Info.plist文件中定义,或者在Xcode的项目设置中指定。 3. **应用名称**: 用户看到的应用在SpringBoard(iOS主屏幕)上的显示名称,通常与Info.plist文件中的`...

    ios 选择其他应用打开文件

    在iOS系统中,用户可以使用“选择其他应用”功能来打开和处理各种类型的文件,而不仅仅局限于默认的应用程序。这个特性使得iOS更加灵活,让用户能够根据个人需求利用不同应用的功能来处理同一份文件。以下是对这个...

    database和PlausibleDatabase框架

    本主题将深入探讨"database"和"PlausibleDatabase框架"在iOS开发中的应用。 SQLite是一个开源的关系型数据库管理系统,它不需要单独的服务器进程,可以直接嵌入到应用程序中。iOS开发者经常使用SQLite来处理本地...

    ios应用程序编程指南

    开发者需要了解如何在应用中存储数据,这包括使用iOS的键值编码、键值观察和核心数据等技术来持久化数据。键值编码是一种通过键的名称来访问对象属性的机制,而键值观察则是一种当对象属性改变时获得通知的机制。...

Global site tag (gtag.js) - Google Analytics