ios realm 文件_iOS Realm数据库使用
Realm 是 SQLite 和 Core Data 的替代者,得益于其零拷貝的設計,Realm 比任何 ORM 都要快很多。
Objective?C版本的 Realm 能夠讓您以一種安全、耐用以及迅捷的方式來高效地編寫應用的數據模型層,如下例所示:
Dog.h
@interface Dog : RLMObject
@property NSString *name;
@property NSData *picture;
@property NSInteger age;
@end
@implementation Dog
Dog.m
@implementation Dog
@end
RLM_ARRAY_TYPE(Dog)
Person.h
@interface Person : RLMObject
@property NSString *name;
@property RLMArray *dogs;
@end
Person.m
@implementation Person
@end
使用方法
// 使用的方法和常規 Objective?C 對象的使用方法類似
Dog *mydog = [[Dog alloc] init];
mydog.name = @"大黃";
mydog.age = 1;
mydog.picture = nil; // 屬性的值可以為空
NSLog(@"狗狗的名字: %@", mydog.name);
// 檢索 Realm 數據庫,找到小于 2 歲 的所有狗狗
RLMResults *puppies = [Dog objectsWhere:@"age < 2"];
puppies.count; // => 0 因為目前還沒有任何狗狗被添加到了 Realm 數據庫中
// 數據持久化操作十分簡單
RLMRealm *realm = [RLMRealm defaultRealm];
[realm transactionWithBlock:^{
[realm addObject:mydog];
}];
// 檢索結果會實時更新
puppies.count; // => 1
// 可以在任何一個線程中執行檢索操作
dispatch_async(dispatch_queue_create("background", 0), ^{
Dog *theDog = [[Dog objectsWhere:@"age == 1"] firstObject];
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
theDog.age = 3;
[realm commitWriteTransaction];
});
如果您的應用正在使用 Core Data 并打算換用 Realm 的話,我們最近發布了一篇關于如何執行轉換的文章,點擊此處查看!
從這里開始
總結
以上是生活随笔為你收集整理的ios realm 文件_iOS Realm数据库使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识图谱论文阅读(九)【转】推荐系统遇到
- 下一篇: mysql 装载dump文件_mysql