草庐IT

ios - Realm Mobile Platform 是否适合管理小公司的服务?

我正在开发一个应用程序来管理小公司(1-2名经理和20-100名员工)。经理有一个经理的Mac应用程序。每个员工都有一个带有员工应用程序的iPad。为此,我想尝试使用RealmMobilePlatform。但我无法想象建筑。思路如下:经理可以创建一些与所有员工共享的公共(public)数据(共享授予所有员工访问权限的Realm?)。每个员工都可以创建私有(private)数据(带有~符号的私有(private)共享Realm?)。经理可以在他的应用程序中看到所有公共(public)数据和所有私有(private)数据(所有公共(public)Realm和所有员工的私有(private)

swift - 将具有可选字符串属性的 Realm 对象更新为 nil?

我有一个这样定义的Realm模型:classContact:Object{dynamicvarid:-1dynamicvaralias:String?overridestaticfuncprimaryKey()->String?{return"id"}}我的代码从服务器下载JSON并在我的Realm数据库中添加/更新联系人。JSON反序列化后,我得到了一组联系人对象。我遍历数组并检查每个联系人是否已在数据库中,如果是,它的“别名”属性是否与反序列化对象上的值匹配。举个例子,假设我的数据库中有一个联系人,其“别名”属性值为“JohnSmith”。下次我从服务器获取更新数据时,此联系人的J

ios - 一次将所有 Realm 对象转换为字典

我正在使用Realm并且我有一个extension用于将我的Realm模型转换为Dictionary,但我不知道如何转换我所有的Realm模型立刻。我想知道如何一次在一个地方转换所有Realm对象,以便我可以将该字典发送到API。这是我的Realm对象模型和我使用的扩展:classOrderItemList:Object{dynamicvardateCreated=NSDate()letorderItems=List()}classOrderItem:Object{dynamicvarname=""dynamicvaramount=0dynamicvarinternalUnique=I

ios - 使用 Realm addNotificationBlock 的测试代码

有没有办法配置Realm以便同步触发通知回调(使用addNotificationBlock注册)?特别是,我希望在测试中出现这种行为。由于回调是异步的,因此不能在测试中使用。因此,有必要在生产环境中注入(inject)一个包装通知注册的依赖项,而不是在测试中注入(inject)一个模拟行为的依赖项。但这不是一个很好的解决方案,因为它a)需要更多的代码,并且b)该代码正在对Realm做出假设,例如如何构造一个RealmCollectionChange。如果不能让它同步触发,也许有人建议有更好的方法来测试依赖于RealmCollectionChange的代码?

ios - 没有实际更改的已更新 Realm 对象计入 RealmCollectionChange

如果RealmObject包含在Realm.add(_:update:)中,带有update设置为true,它的索引包含在结果RealmCollectionChange中,即使它的所有属性都没有改变。在我的例子中,我正在解析JSON,然后将其转换为我的特定Object。其中一些将被更改,一些未更改,一些将是全新的。所以当我realm.add(possiblyNewOrUpdatedObjects,update:true)时,值根本没有改变的对象包含在modifications索引数组中。关于此行为,我是否遗漏了什么?为什么未修改的Object被视为已修改?

swift - NSPredicate 更改时不会触发 Realm 通知

我在Realm中有一个简单的勾选列表,我在其中使用NotificationToken检查数据源中的更新,然后使用以下项目更新tableView:classItem:Object{dynamicvarname=""dynamicvarisTickedOff=falsedynamicvartimeStamp:Date?}模型:varitems:Results{get{letresults=self.realm.objects(Item.self)letalphabetic=SortDescriptor(property:"name",ascending:true)lettickedOff=

ios - 在 iOS Today 扩展中使用 Realm

我有一个带有today扩展的应用程序。在MainApp的AppDelegate.swift中:letrealmContext=try!Realm(fileURL:NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.this.is.test")!.URLByAppendingPathComponent("db.realm"))在我的todayExtension的viewDidload中:letrealmContext=try!Realm(fileURL:NSFile

ios - 使用 Swift 3 和 Realm 同步 Apple Watch 和 iPhone

我需要从AppleWatch和iPhone显示和修改我的数据结构。数据库:我目前正在使用一个简单的Realm结构,其中我有一个对象A和一个可以容纳很多A的对象B。所以在iPhone上,用户可以创建B并添加A,当然还可以查看所有A和B。我希望AppleWatch显示当前B的所有A,并让用户有机会向他们当前的B添加新的A。我尝试过的方式:我想将holeRealm文件从iPhone移动到watch或其他方式。(这是来自互联网的提示)iPhone代码:overridefuncviewDidLoad(){super.viewDidLoad()ifWCSession.isSupported(){/

ios - 在 applicationWillTerminate 中删除 Realm 数据

我有以下情况,当应用程序从设备内存中抛出时,我从Realm中删除了非实际数据。我有一个特殊的FriendRealmManager类,这个类包含函数clearCache,它删除用户(目前不是friend)。当我在applicationWillTerminate函数中调用这个manager时,回到应用程序后,我发现这个函数没有起作用,因为有模型的用户不再是friend。我试图将clearCache函数的代码移到applicationWillTerminate中,这有效。请告诉我,是否可以做类似的事情来处理applicationWillTerminate中不同管理器的功能?普通函数和静态函数

Swift Realm 通过列表属性元素查询

我在官方文档中找不到任何类似的东西,我想知道这是否可能。我得到了对象:classPost:Object{dynamicvarid=0dynamicvarname=""letcategories=List()overridestaticfuncprimaryKey()->String?{return"id"}}假设,类别包含具有auto_incid的对象。我想执行查询,例如选择类别包含ID1、4、6的帖子。这可能吗,还是我需要编写一些第3方过滤器? 最佳答案 肯定是possible:letrealm=try!Realm()letids