【发布时间】:2026-01-27 23:00:01
【问题描述】:
我必须将大量数字存储在 Realm 存储中,例如 14000822124935161134。目前我通过将它们的类型更改为string来存储它们,如下所示,然后保存:
NSMutableDictionary *itemInsert = [item mutableCopy];
if([item valueForKey:@"timestamp"]) {
unsigned long long timestamp = [[item valueForKey:@"timestamp"] unsignedLongLongValue];
[itemInsert setObject:[NSString stringWithFormat:@"%llu", timestamp] forKey:@"timestamp"];
}
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
[RMember createOrUpdateInRealm:realm withValue:itemInsert];
[realm commitWriteTransaction];
而我的RLMObject 的timestamp 属性定义如下:
@interface RMember : RLMObject
...
@property (nullable) NSString *timestamp;
...
@end
对于Realm中的这种类型的数据,是否有任何适合的类型而不是string或任何更好的解决方案?
【问题讨论】:
-
愚蠢的想法,但如果它是一个时间戳,你不能只存储一个 NSDate 吗?
-
它的结构有点不同,不建议转换为 NSDate。感谢任何方式
标签: ios objective-c realm long-integer