发布网友 发布时间:2022-04-07 20:56
共4个回答
懂视网 时间:2022-04-08 01:17
#import <Realm/Realm.h> 2 3 @interface Person : RLMObject 4 @property NSString *name; 5 @property int age; 6 @property NSDate *birthdate; 7 @end 8 9 // This protocol enables typed collections. i.e.: 10 // RLMArray<Person> 11 RLM_ARRAY_TYPE(Person)Realm支持以下的属性(property)种类: BOOL, bool, int, NSInteger, long, float, double, CGFloat, NSString, NSDate 和 NSData。
也可以使用RLMArray<_Object_>
和 RLMObject
来模拟对一或对多的关系——Realm也支持RLMObject
继承。
属性(property)特性(attributes)
请注意Realm忽略了objective-c的property attributes, 像 nonatomic, atomic, strong, copy, weak 等等。 所以,在写入模型的时候不要使用任何的property attributes。但是,假如你设置了,这些attributes会一直生效直到RLMObject
被写入realm数据库。 无论RLMObject
在或不在realm中,为getter和setter自定义的名字都能正常工作
+attributesForProperty:
可以被重写来来提供特定属性(property)的属性值(attrbutes)例如某个属性值要添加索引。@interface Book : RLMObject @property float price; @property NSString *title; @end @implementation Book + (NSArray *)indexedProperties { return @[@"title"]; } @end
+defaultPropertyValues
可以被重写,用以为新建的对象提供默认值。@interface Book : RLMObject @property float price; @property NSString *title; @end @implementation Book + (NSDictionary *)defaultPropertyValues { return @{@"price" : @0, @"title": @""}; } @end
+primaryKey
可以被重写来设置模型的主键。定义主键可以提高效率并且确保唯一性。@interface Person : RLMObject @property NSInteger id; @property NSString *name; @end @implementation Person + (NSString *)primaryKey { return @"id"; } @end
ignoredProperties
可以被重写来防止Realm存储模型属性。@interface Person : RLMObject @property NSInteger tmpID; @property (readonly) NSString *name; // read-only properties are automatically ignored @property NSString *firstName; @property NSString *lastName; @end @implementation Person + (NSArray *)ignoredProperties { return @[@"tmpID"]; } - (NSString *)name { return [NSString stringWithFormat:@"%@ %@", self.firstName, self.lastName]; } @end
// Create object Person *author = [[Person alloc] init]; author.name = @"Erickson"; // Get the default Realm RLMRealm *realm = [RLMRealm defaultRealm]; // You only need to do this once (per thread) // Add to Realm with transaction [realm beginWriteTransaction]; [realm addObject:author]; [realm commitWriteTransaction];
等到把这个对象添加到realm数据库里面之后, 可以在多个线程里面共享之。并且从现在开始,所做的每一次更改(必须在一个写事务中完成)也会被永久储存。等到写事务完成,这个更改将对所有共享这个Realm数据库的线程可见。
需要注意的是,写入操作会相互阻塞,而且其相对应的进程也会受到影响。这和其他的永久数据存储解决方案是一样的,所以建议你使用常用的,也是最有效的方案, 将所有写入放到一个单独的进程中。
还要注意的是,因为realm的MVCC结构, 读取并不会因为一个进行中的写事务而受到影响。
Realm数据库的使用(一)数据库的简单介绍和模型的创建
标签:
热心网友 时间:2022-04-07 22:25
1、首先在 SQL Server 2008中选择单击Microsoft SQL Server 2008 Management Studio,会出现一个窗口。2、在服务器名称中选择本机的服务器名字。然后单击【连接】按钮。就进入Microsoft SQL Server 2008 Management Studio。3、右键单击【数据库】,选择【新建数据库】,会出来一个窗口,在这个窗口里可以输入你要建的数据库的名称,同时也可以修改数据库的文件类型。4、数据库的名称和类型都弄好后,点击下方的【确定】 按钮。数据库就建立了。5、要是想删除自己不想要的数据库也很简单。鼠标右键点击自己不想要的数据库,然后选择【删除】 ,那么该数据库就删除了。热心网友 时间:2022-04-07 23:43
使用 Realm Studio 查看 Realm 数据库,官网下载地址:网页链接
百度知道,用正确的姿势回答问题,从我做起。
热心网友 时间:2022-04-08 01:18
下面是5个可用ORM的总体介绍:1.OrmLiteOrmLite不是Android平台专用的ORM框架,它是JavaORM。支持JDBC连接,Spring以及Android平台。语法中广泛使用了注解(Annotation)。2.SugarORMSugarORM是Android平台专用ORM。提供简单易学的