NAMDatabase
关于
NAMDatabase是使用SQLite的一种非常简单的方式。忘记解析器、查询、更新!只需使用例如.saveData()
或.delete()
。
解决方案的核心是NAMObjectModel
类。它抽象了所有SQL命令。
当您首次初始化库时,NAMDatabase会创建一个.sqlite数据库和所有基于实现NAMObjectModel
的类的表。
工作方式
首先,创建一个模型
如果您需要持久化一个属性,请添加@objc
。
import NAMDatabase
class Person: NAMObjectModel {
@objc var name: String!
}
初始化
此代码将创建数据库和所有表。
在您的AppDelegate中添加
NAMDatabase.shared()?.initialize(true)
将true传送给日志记录数据库路径。
如果需要重新创建表,运行
NAMDatabase.shared()?.createAllTables()
此代码将删除并重新创建数据库,注意安全。
保存数据
let person = Person()
person.name = "Narlei"
person.identifier = "MY_ID"
person.saveData()
如果已存在ID为"MY_ID"的登记项,则将更新。
要获取唯一ID,可以使用
let person = Person()
let id = person.getUniqueKey()
person.identifier = id
person.saveData()
获取数据
// Get by Identifier:
if let personResult = Person.getObjectWithId("MY_ID") as? Person {
print(personResult.name)
}
// Get with SQLite where:
if let array = Person.getAllDataWhere("name like 'Nar%'") as? [Person] {
print(array)
}
删除数据
按标识符删除
Person.deleteObject(withId: "MY_ID")
使用SQLite where条件删除
Person.deleteAllDataWhere("name like 'Nar%'")
忽略属性
在Swift类中,如果要忽略属性,只需不要添加@objc
,或者可以使用
override class func ignoredProperties() -> [Any]! {
return ["name"]
}
主键
默认属性 identifier
是主键,你可以使用以下方式来更改:
override class func primaryKeys() -> [Any]! {
return ["id"]
}
安装
NAMDatabase可通过CocoaPods获取。要安装它,只需将以下行添加到Podfile中:
pod 'NAMDatabase'
示例
要运行示例项目,首先克隆仓库,然后从Example目录运行pod install
。
请参阅以下示例 这里
TODO
- 创建用于创建模型的模板;
- 数据库迁移助手;
作者
narlei, [email protected]
许可证
NAMDatabase 受 MIT 许可证的许可。有关更多信息,请参阅 LICENSE 文件。