同事们,我现在开发了一个公交时刻表的应用程序,之前我使用的是sqlite。数据库大小为585kb,非常酷。我决定使用Realm,在json解析后我看到大小-9,6Mb(超过20次)。请告诉我为什么?这对我来说不是问题,但很有趣!代码示例:self.realm.beginWrite()letfile=Bundle.main.path(forResource:"file",ofType:"json")!leturl=URL(fileURLWithPath:file)letjsonData=NSData(contentsOf:url)!letjson=try!JSONSerializatio
Realm是一种什么样的数据库?是ORM吗?还是它像对象数据库一样工作?也许数据库结构会以某种方式影响设计过程?在设计Realm数据库时有什么细微差别吗?我在这里问,因为我在官方网站上没有找到任何答案 最佳答案 不幸的是,我实际上并没有使用iOS版本,但我使用的是Android版本,它的功能集与iOS版本越来越相似,并且它们共享相同的core,并且它们更接近于通过object-store提供相同的统一行为。因此,大部分答案将基于SwiftAPI文档。(境界迅捷2.6.1)Realm默认是一个对象存储。从技术上讲,它将您的数据存储在模
我之前使用realm(0.13.2)没问题。但是当我将插件更新到realm(1.2.0)时,它发生了:undefinedisnotanobject(evaluating'_realm.Realm.schemaVersion')configureRealmconfigure.js:14:19和configure.js,第14行:varnext=Realm.schemaVersion(Realm.defaultPath);怎么了? 最佳答案 我发现Realm有默认导出。所以,我应该更改我的导入代码来自从'realm'导入{Realm};
我有一个实体:'人'-抽象类。'Contact'-Person的子类'User'-Person的子类'Activity'-包含一个relatedPerson作为Person类型,但它可以是Contact或User。我的问题:当我缓存“Activity”时,Realm将relatedPerson缓存为“Person”类型,并丢失了“User”或“Contact”的所有数据。如何解决这个问题?我的类结构是@interfacePerson:RLMObject@propertyNSString*uID;-(NSString*)displayName;...@end@interfaceConta
我正在用很棒的Realm库重构我的应用程序,替换CoreData。我面临的一个问题是缺少级联删除,并且缺少关于如何以另一种方式执行这一重要步骤的任何好的建议。我的模型可以描述为Person-idx,Dog-idx,Walk-distance,time删除Person及其所有相关的dogs和dog.walks时的最佳做法是什么?遍历所有?或者是否有任何其他方法可用于获取子对象的引用? 最佳答案 目前,您需要自己遍历所有相关对象及其相关对象等等,同时避免循环,并且只删除应该级联删除的关系上的对象。这可以根据对象模型通过在每个涉及的对象上
我正在将Realm集成到我的应用程序中。我需要知道如何将自定义类对象存储在RLMObject子类中。 最佳答案 根据theDocumentation,唯一允许保存在Realm中的属性是:Realmsupportsthefollowingpropertytypes:BOOL,bool,int,NSInteger,long,longlong,float,double,NSString,NSDate,NSData,andNSNumbertaggedwithaspecifictype.如果您需要存储另一个对象(您提到的是自定义类的实例),官
我正在尝试构建我的第一个Swift应用程序,我认为Realm可能是我数据库的一个不错的选择。这可能是一个完全愚蠢的问题,但我的用户是否能够在没有互联网连接的情况下访问我的数据库中的数据?我相当确定答案是肯定的,但我只是想确定一下。作为旁注,我希望将数据存储在用户手机上(而不是服务器或类似的东西)感谢帮助 最佳答案 是的!Realm是一个完全离线的本地数据库解决方案。没有在线组件,但如果您决定这样做,您可以使用第三方云服务(如Parse)从Realm在线同步数据(或者只是将数据库文件复制到Dropbox)。默认情况下,使用Realm保
我有2个类:Company和Employee。两者都继承了RealmObject类。classCompany:Object{varname:String=""varemployee:Employee?overridestaticfuncprimaryKey()->String?{return"name"}}classEmployee:Object{varname:String=""varage:Int=0overridestaticfuncprimaryKey()->String?{return"name"}}填充对象varemp=Employee()emp.name="Sachin"
我目前正在使用Realm在我正在创建的应用程序中进行数据持久化。我想要做的是,当应用程序首次打开时,它会从API获取数据。我想从获取的数据中获取所有内容并存储它,这样即使没有事件的互联网连接也可以使用该应用程序。不过,我可以实现存储用户名和手机号码等字符串,但我不确定如何存储图像。这是我目前所拥有的:@interfaceUser:RLMObject@propertyNSString*userName;@propertyNSString*mobileNumber;@propertyNSData*avatarData;@end-(void)viewDidLoad{[superviewDid
我没有在应用程序的文档目录中使用*.realm文件。我在主包目录中使用它。当我调用它时:NSString*path=[[NSBundlemainBundle]pathForResource:@"example"ofType:@"realm"];RLMRealm*realm=[RLMRealmrealmWithPath:path];它崩溃并记录:由于未捕获的异常“RLMException”而终止应用程序,原因:“open()失败:不允许操作” 最佳答案 Realm文件必须位于您具有写入权限的目录中,以防您希望能够更新任何数据。如果您只