sqlite 可用于在 IOS 處理數(shù)據(jù)。只是使用 sqlite 的查詢,這使得它更容易為那些熟悉 SQL 查詢開發(fā)人員使用。
涉及的步驟
1. 創(chuàng)建一個簡單的 View based application
2. 選擇項目文件,然后選擇“目標”,選擇框架添加libsqlite3.dylib庫
3. 現(xiàn)在創(chuàng)建一個新的文件,通過選擇 File-> New -> File... -> select Objective-C 類并點擊“next"
4. 類命名為 DBManager 并作為 NSObject 的子類
5. 選擇“創(chuàng)建”.
6. 現(xiàn)在更新 DBManager.h 如下
#import <Foundation/Foundation.h> #import <sqlite3.h> @interface DBManager : NSObject { NSString *databasePath; } +(DBManager*)getSharedInstance; -(BOOL)createDB; -(BOOL) saveData:(NSString*)registerNumber name:(NSString*)name department:(NSString*)department year:(NSString*)year; -(NSArray*) findByRegisterNumber:(NSString*)registerNumber; @end
8. 現(xiàn)在更新DBManager.m 如下
#import "DBManager.h" static DBManager *sharedInstance = nil; static sqlite3 *database = nil; static sqlite3_stmt *statement = nil; @implementation DBManager +(DBManager*)getSharedInstance{ if (!sharedInstance) { sharedInstance = [[super allocWithZone:NULL]init]; [sharedInstance createDB]; } return sharedInstance; } -(BOOL)createDB{ NSString *docsDir; NSArray *dirPaths; // Get the documents directory dirPaths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); docsDir = dirPaths[0]; // Build the path to the database file databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent: @"student.db"]]; BOOL isSuccess = YES; NSFileManager *filemgr = [NSFileManager defaultManager]; if ([filemgr fileExistsAtPath: databasePath ] == NO) { const char *dbpath = [databasePath UTF8String]; if (sqlite3_open(dbpath, &database) == SQLITE_OK) { char *errMsg; const char *sql_stmt = "create table if not exists studentsDetail (regno integer primary key, name text, department text, year text)"; if (sqlite3_exec(database, sql_stmt, NULL, NULL, &errMsg) != SQLITE_OK) { isSuccess = NO; NSLog(@"Failed to create table"); } sqlite3_close(database); return isSuccess; } else { isSuccess = NO; NSLog(@"Failed to open/create database"); } } return isSuccess; } - (BOOL) saveData:(NSString*)registerNumber name:(NSString*)name department:(NSString*)department year:(NSString*)year; { const char *dbpath = [databasePath UTF8String]; if (sqlite3_open(dbpath, &database) == SQLITE_OK) {上一篇:iOS - Objective-C基礎下一篇:iOS - UI元素