草庐IT

ios - Realm 数据库 - 删除对象时的通知

我的问题很简单:当对象的实例即将被删除时,是否有某种方法可以通知它?我有一个案例,我有一个属性是存储在磁盘上的图像的路径。每当删除该类型的Realm对象时,我都想删除此图像。 最佳答案 如果你不想使用KVO,你可以利用Realm的ObjectNotifications.一个简短的例子是:vartoken:NotificationToken?token=yourRealmObject.addNotificationBlock{changeinswitchchange{case.change(letproperties):print("

ios - swift realm::IncorrectThreadException:从不正确的线程访问的 Realm

我创建了一个名为“File”的模型,它在RealmBrowser中看起来没问题:但是当我使用模型时,它会返回错误:libc++abi.dylib:以类型为realm::IncorrectThreadException的未捕获异常终止:从不正确的线程访问的Realm。在我的代码中,我在每个需要添加/更新的地方创建了Realm对象:privatevarallFiles:Results!privatevardownloadingFiles:Results!{returnself.allFiles.filter("completed=false")}privatevardownloadedFi

ios - 为什么 .sqlite 数据库的大小比 Realm 小很多?

同事们,我现在开发了一个公交时刻表的应用程序,之前我使用的是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

ios - Realm 是一个什么样的数据库?

Realm是一种什么样的数据库?是ORM吗?还是它像对象数据库一样工作?也许数据库结构会以某种方式影响设计过程?在设计Realm数据库时有什么细微差别吗?我在这里问,因为我在官方网站上没有找到任何答案 最佳答案 不幸的是,我实际上并没有使用iOS版本,但我使用的是Android版本,它的功能集与iOS版本越来越相似,并且它们共享相同的core,并且它们更接近于通过object-store提供相同的统一行为。因此,大部分答案将基于SwiftAPI文档。(境界迅捷2.6.1)Realm默认是一个对象存储。从技术上讲,它将您的数据存储在模

ios - (react-native realm) undefined 不是对象(评估 '_realm.Realm.schemaVersion' )

我之前使用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};

ios - 如何在 Realm 中实现继承(iOS,Objective C)

我有一个实体:'人'-抽象类。'Contact'-Person的子类'User'-Person的子类'Activity'-包含一个relatedPerson作为Person类型,但它可以是Contact或User。我的问题:当我缓存“Activity”时,Realm将relatedPerson缓存为“Person”类型,并丢失了“User”或“Contact”的所有数据。如何解决这个问题?我的类结构是@interfacePerson:RLMObject@propertyNSString*uID;-(NSString*)displayName;...@end@interfaceConta

ios - 实现级联删除的Realm最佳实践

我正在用很棒的Realm库重构我的应用程序,替换CoreData。我面临的一个问题是缺少级联删除,并且缺少关于如何以另一种方式执行这一重要步骤的任何好的建议。我的模型可以描述为Person-idx,Dog-idx,Walk-distance,time删除Person及其所有相关的dogs和dog.walks时的最佳做法是什么?遍历所有?或者是否有任何其他方法可用于获取子对象的引用? 最佳答案 目前,您需要自己遍历所有相关对象及其相关对象等等,同时避免循环,并且只删除应该级联删除的关系上的对象。这可以根据对象模型通过在每个涉及的对象上

ios - 如何在 Realm 中存储 NSObject 类?

我正在将Realm集成到我的应用程序中。我需要知道如何将自定义类对象存储在RLMObject子类中。 最佳答案 根据theDocumentation,唯一允许保存在Realm中的属性是:Realmsupportsthefollowingpropertytypes:BOOL,bool,int,NSInteger,long,longlong,float,double,NSString,NSDate,NSData,andNSNumbertaggedwithaspecifictype.如果您需要存储另一个对象(您提到的是自定义类的实例),官

ios - 如果我在 Realm 上创建数据库,我的用户是否可以在没有互联网访问权限的情况下访问它?

我正在尝试构建我的第一个Swift应用程序,我认为Realm可能是我数据库的一个不错的选择。这可能是一个完全愚蠢的问题,但我的用户是否能够在没有互联网连接的情况下访问我的数据库中的数据?我相当确定答案是肯定的,但我只是想确定一下。作为旁注,我希望将数据存储在用户手机上(而不是服务器或类似的东西)感谢帮助 最佳答案 是的!Realm是一个完全离线的本地数据库解决方案。没有在线组件,但如果您决定这样做,您可以使用第三方云服务(如Parse)从Realm在线同步数据(或者只是将数据库文件复制到Dropbox)。默认情况下,使用Realm保

ios - Realm -iOS : Object reference set to nil after save

我有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"