ios的几种数据存储方式:
1. Plist(NSArray/NSDictionary)
2. Preference(偏好设置/NSUserDefaults)
3. NSCodeing(NSKeyedArchiver/NSKeyedUnarchiver)
4. 数据库
ios自带有sqlite3轻量级的数据库
由于它使用的是C语言的api,所以这里介绍一下第三方框架FMDB
要添加libsqlite3.dylib,动态库
#import "FMDB.h"
@interface viewController()
@property (nonatomic,strong) FMDatabase *db;
@end
@implementation viewController
- (void)viewDidLoad
{
//打开数据库
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"db.sqlite"]
self.db = [FMDatabase databaseWithPath:path];
[self.db open];
//建表
//查
// [self.db executeQuery:];
//增删改等等
[self.db executeUpdate:@"create table if not exists person (name nvarchar primary key, age int not null)"];
}
- (void)touchBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// 插入
[self.db executeUpdata:@"insert into person(name int) values('xiaoming',10);"];
// 查询
// 得到结果集
FMResultSet *set = [self.db executeQuery:@"select * from person;"];
//当next没有值时,就是空
while(set.next){
// 获得当前指向的数据
NSString *name = [set stringForColumn:@"name"];
int age = [set intForColumn:@"age"];
NSLog(@"%@,%d",name,age);
}
}
@end