草庐IT

ios - 在 Swift 应用程序中安装 Realm

我正在尝试将Realm添加到我用swift编写的应用程序中。我已经按照教程进行操作,但似乎无法正常工作。最大的问题是,当我尝试导入Realm时,我得到Nosuchmodule'Realm'我不知道还能尝试什么。您可以在下面看到我的努力。您可以在此处查看说明:http://realm.io/docs/cocoa/0.85.0/#swft我还复制了以下说明:由于目前缺乏适当的Swift依赖管理基础设施,在您的项目中使用Realm需要以下步骤:通过打开终端将Realm添加为子模块,进入您的顶级项目目录,然后输入命令gitsubmoduleaddgit@github.com:realm/rea

ios - Swift Realm Write方法是Sync或Async Thread

我在我的项目中使用Realm,我想知道realm.write()方法是否是同步的。我的例子在这里:letrealm=try!Realm()try!realm.write{realm.delete(message)}realm.invalidate()在上面的例子中,我正在删除一个Realm对象和我写的外括号invalidate()这是我的困惑:如果write()是同步的,那么invalidate()就可以了如果Async比之前writeinvalidate会调用,realm会释放但操作在后台运行谢谢 最佳答案 Realm.write

swift - 我们在 Swift Realm 中使用 RLMObject 还是 Object?

我看过他们使用Realm的例子classPerson:Object{}还有classPerson:RLMObject{}我们应该使用哪一个?此外,我无法让init函数为前者工作。任何帮助将不胜感激。 最佳答案 如果您在Swift中工作,Realm.Object(Object)是为Swift界面设计的。它具有更好的类型检测和更自然的Swift短语。Object由RLMObject支持,因此您可以根据需要使用RLMObject,但它是一个Objective-Capi,所以有些东西可能有点乏味。tl;drRealm创造RealmSwift

ios - 我可以让 Realm Results 类使用协议(protocol)作为泛型吗?

我想创建两个Realm模型类和一个协议(protocol),由两个模型类采用。例如:classDog:Object,Animal{dynamicvarname=""}classCat:Object,Animal{dynamicvarname=""}protocolAnimal{varname:String{get}}在这种情况下,我创建了两个模型类和一个协议(protocol)。但是,当我转到实现的时候,问题出现了。下面的代码是在ViewController中编写的:vardogs:Results?{returntry!Realm().objects(Dog)}varcats:Resu

ios - Realm swift : how to catch RLMException?

我认为我做对了。letrealm=try!Realm()do{tryrealm.write{realm.add(myObject)}}catch{print("somethingwentwrong!")}但我仍然遇到崩溃而不是打印语句。我对避免异常不感兴趣(在这种情况下,我故意通过添加一个具有现有主键的对象来引起它)但我希望能够捕获它并无论如何防止崩溃。这可能吗?如果可能,如何实现? 最佳答案 RealmSwift仅针对被认为是程序员错误的事情抛出Objective-C异常。这些异常不打算在运行时捕获和处理,因为它们表明程序中存在必

ios - 将现有对象附加到 Realm 列表

我的代码中有带主键的CatalogItem对象。Realm在写入以下代码时抛出错误:classCartItem:Object{dynamicvarid:Int=0dynamicvaritem:CatalogItem!dynamicvaramount:Int=0conveniencerequiredinit(id:Int,item:CatalogItem,amount:Int){self.init()self.id=idself.item=itemself.amount=amount}}classCart:Object{varitems=List()funcaddItem(item:Ca

swift - 如何从 Swift 中的 Realm 查询中获取非托管对象?

在Java中,您可以通过以下方式获取非托管对象:Realmrealm=Realm.getDefaultInstance();realm.beginTransaction();dogs=realm.where(Dog.class).lessThan("age",2).findAll()realm.commitTransaction();realm.close()我如何使用Realm-cocoa在Swift中执行此操作? 最佳答案 要在Swift中从Realm获取非托管对象,您可以使用init(value:AnyObject)initi

swift - 意想不到的大 Realm 文件大小

这个问题是关于使用两种不同的方式将对象插入到Realm中。我注意到第一种方法要快得多,但是与第二种方法相比,尺寸结果是巨大的。两种方法之间的区别在于移动在for循环外与内写入事务。//Createrealmfileletrealm=try!Realm(fileURL:banco_url!)当我像这样添加对象时,Realm文件增长到75.5MB:try!realm.write{foriin1...40000{letnew_realm_obj=realm_obj(value:["id":incrementID(),"a":"123","b":12.12,"c":66,"d":13.13,"

swift - 在 Realm 中保存图像

我正在尝试从设备的照片库中选择图像的方法:funcimagePickerController(_picker:UIImagePickerController,didFinishPickingMediaWithInfoinfo:[String:Any]){userPhoto.image=info[UIImagePickerControllerOriginalImage]as!UIImage?userPhoto.contentMode=.scaleAspectFilluserPhoto.clipsToBounds=truedismiss(animated:true,completion:n

swift - 使用 Swift 过滤 Realm 对象

尝试使用NSPredicate过滤我的Realm数据库时,我总是遇到以下错误:Property'text'isnotalinkinobjectoftype'getType'我想过滤我的Realm数据库以仅显示其中包含某些特定文本的项目。这是我试过的:letrealm=try!Realm()letpredicate=NSPredicate(format:"typez.text.filter='special'")letfilterThis=realm.objects(Publication).filter(predicate)print(filterThis)我的模型类的相关部分是:cl