草庐IT

ios - 如何在 UITableViewController 中正确使用 Realm 对象?

我正在尝试在我的UITableViewController中使用Realm,如果我将对象转换为它的类,每当我尝试在行索引处找到对象时我都会遇到问题(如果我使用了错误的术语请原谅我,我对Swift、Realm和iOS开发还是很陌生!)...我有一个看起来像这样的Site类,数据库有几千个条目:classSite:RLMObject{varid:String=""varname:String=""}在我的TableViewController中,当我尝试根据结果集中的索引获取Site以加载到单元格中时,如果我尝试将其转换为Siteobject它总是nil!如果我使用AnyObject设置它

swift - Realm 的写事务

我对Realm的写入事务感到困惑。我必须在写入事务中对对象进行所有修改,还是可以只进行一些修改,然后再将所有内容写入磁盘?第一个选项似乎有点矫枉过正,当然也很乏味。 最佳答案 (免责声明:我为Realm工作)没错!一旦对象被添加到Realm()对象中,它只能在之后的写事务中被修改。这样做是为了确保线程安全。当Realm()在其上打开了写入事务时,它会阻止所有其他线程同时尝试打开写入事务(让它们等待直到事务关闭)。这看起来确实有点矫枉过正,我们当然正在寻找方法来尝试使其更加精简,但就目前而言,我们认为这种实现模式提供了最安全的方式来确

swift - 最常出现的Realm

我有一个包含列supervisor的对象。在supervisor中有以下值:约翰玛丽菲尔约翰我怎样才能归还约翰?classPerson:Object{dynamicvarname:String=String() 最佳答案 RealmResults实现RealmCollectionTypeRealmCollectionType具有count属性和max(_:)聚合操作。你需要做的是这样的(以下是伪代码,不会编译,只是为了说明问题):results.filter{elementinelement.count==results.max(b

swift - 使用 NSPredicate 和 block 过滤 Realm 的区别

我想知道Realm的查询性能。鉴于此代码:letresult1=realm.objects(Person.self).filter("ageresult1是通过使用NSPredicate过滤Person对象创建的,而result2使用过滤>filter方法来自Swift的集合类型。这两种过滤方法之间是否存在性能差异? 最佳答案 是的,这两种方法之间存在性能差异。NSPredicate-based过滤由Realm的查询引擎执行,它直接过滤Realm文件中的数据,而无需创建Person的实例。.它可以利用数据库结构的知识来更有效地执行查

swift - 如何正确删除一个Realm子对象?

无法在文档或Google中找到关于此的具体信息,所以这里是示例:classParent:Object{letchildren=List()}classChild:Object{weakvarparent:Parent?}当我想删除一个特定的child“child1”时,我应该只使用:Realm().write{realm.delete(child1)}或者我应该像这样在父级中手动删除它(很麻烦):ifletparent=child1.parent{ifletidx=parent.children.indexOf(child1){parent.children.removeAtIndex

ios - 连接 Realm 和 SwiftBond 的最佳方式是什么

我爱Realm我爱Bond.它们都使应用程序创建成为一种乐趣。所以我想知道连接Realm和Bond的最佳方式是什么?在Realm中我们可以存储基本类型,如Int、String,例如但在Bond中,我们使用Dynamic和Bond。我发现连接Realm和Bond的唯一方法如下:classTestObject:RLMObject{dynamicvarrlmTitle:String=""dynamicvarrlmSubtitle:String=""vartitle:Dynamicvarsubtitle:DynamicprivatelettitleBond:Bond!privateletsub

ios - 从不正确的线程访问的 Realm - Swift 3

在我的UITableViewController顶部是以下内容:letqueue=DispatchQueue(label:"background")删除任务时,将执行以下操作:self.queue.async{autoreleasepool{letrealm=try!Realm()realm.beginWrite()realm.delete(task)do{tryrealm.commitWrite()}catchleterror{self.presentError()}}}然后我收到错误terminatingwithuncaughtexceptionoftyperealm::Incor

swift - 为什么 Realm 使用 RealmOptional<Int> 而不是 Int?对于可选属性?

Realm的documentationonoptionalproperties状态:String,NSDate,andNSDatapropertiescanbedeclaredasoptionalornon-optionalusingthestandardSwiftsyntax.OptionalnumerictypesaredeclaredusingRealmOptional.为什么数字类型使用非标准的RealmOptional而不是Swift内置的可选语法? 最佳答案 Realm模型类自动为访问底层数据库数据的持久属性实现gett

ios - 如何将图像存储到 Realm 数据库?

我正在使用Swift2.2编写一个iOS应用程序,我想根据调整所选图像的大小将帐户的个人资料图片本地保存在Realm数据库中。我用谷歌搜索也看到了here但不清楚。如果图像尺寸较小或数量较少,或者如果我有更多图像或尺寸较大,可以做什么?另一个困惑是我将使用NSData还是NSString?我的模型是classIndividualContact:Object{dynamicvarphotoDataString=""varphotoData:NSData?=nildynamicvarisPhotoAvailable=false}我已经从图库中挑选了图片funcimagePickerCont

swift - 在 Swift 中将 deleteRealmIfMigrationNeeded 与 Realm 一起使用时崩溃

我在didFinishLaunchingWithOptions中执行以下操作:letconfig=Realm.Configuration(schemaVersion:0,deleteRealmIfMigrationNeeded:true)Realm.Configuration.defaultConfiguration=configletrealm=try!Realm()基本上,在开发过程中,我不想担心迁移,只想在架构更改时清除数据库。我的理解是,这正是deleteRealmIfMigrationNeeded的用途。问题是有时它会在尝试初始化Realm时崩溃并出现以下错误:fataler