草庐IT

NSPredicate

全部标签

swift - Realm如何写子查询

我正在研究Realm数据库,这个数据库与核心数据相比很好,但我被困在一个地方,如下所示:我在其中创建了两个RLMObject关系,我想对其运行连接查询(子查询),但我做不到。Ralm中的第一个对象(表)classDog:RLMObject{dynamicvarname=""dynamicvarage=0//createvariableofOwnerobjectdynamicvarowner=RLMArray(objectClassName:"Owner")overrideclassfuncprimaryKey()->String!{return"name"}}Ralm中的第二个对象(表

ios - NSPredicate 与子查询

我有这样的关系:player>gamesquiz并希望获得不在玩家游戏中的所有测验,例如SELECT*FROMZQUIZWHEREZ_PKNOTIN(SELECTZQUIZFROMZGAMEWHEREZPLAYER==1)有人可以帮忙吗? 最佳答案 这可以通过SUBQUERY子句来完成。如果myPlayer是有问题的播放器:letpredicate=NSPredicate(format:"SUBQUERY(games,$g,$g.player==%@).@count==0",myPlayer)

ios - 如何将枚举数组转换为整数数组

我正在使用CoreData,我的一个谓词根据以下枚举检索数据:enumPeriod:Int{DailyWeeklyMonthly}我的谓词是这样的:publicstaticfuncbyTypePredicate(periods:[Int])->NSPredicate{returnNSPredicate(format:"periodIN%@",periods)}我的问题是我不想在调用这个谓词时使用Int的,我想传递Period枚举,但是在谓词内部必须转换它到Int以使其工作。有没有快速转换的方法? 最佳答案 您可以使用map()方法(

ios - swift 中的 NSPredicate 'IN' 运算符格式化问题。无法解析格式字符串

我在尝试创建如下所示的NSPredicate对象时遇到异常:letsearchPredicate=NSPredicate(format:"addonCategoryIdIN\(idsArray)")其中idsArray是由Int对象组成的swift数组。此行本身引发异常。控制台说:2015-10-0808:21:42.878bkApp[2569:510538]***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'Unabletoparsetheformatstring"addonCateg

ios - Swift - 谓词通过成员数组的属性过滤数组

我需要过滤出一个MyClass3对象数组。MyClass2对象的数组是MyClass3对象的成员(请引用下面的代码)。MyClass2对象有一个id。我手边有一个idArray。我需要过滤掉那些MyClass3对象,其中idArray中的所有id都存在于其[MyClass2]成员中。classMyClass2:NSObject{varuid:Int=0init(uid:Int){self.uid=uid}}classMyClass3:NSObject{vararr:[MyClass2]init(units:[MyClass2]){arr=units}}varunits1=[MyClas

ios - Swift 核心数据谓词 IN 子句

我正在尝试将IN子句与NSPredicate一起使用。我收到以下错误:***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'-[NSTaggedPointerStringcountByEnumeratingWithState:objects:count:]:unrecognizedselectorsenttoinstance0xa000000000000611'代码如下:letfetchRequest:NSFetchRequest=NSFetchRequest(entityName:"Em

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

swift - Realm 对象谓词搜索无效

在swift应用程序中使用RealmDB。我正在尝试使用如下谓词过滤结果:classfuncfetchUsersFromDB(usersId:[String])->[User]{varusers=[User]()letrealm=Realm()letpredicate=NSPredicate(format:"objectIdIN%@",argumentArray:usersId)varallUsers=realm.objects(User).filter(predicate)users=Array(allUsers)returnusers}但这不会编译。我收到此错误:Terminati

ios - 使用 NSPredicate 的 Swift 过滤器数组

我有一个用Swift编写的应用程序,它从用户的地址簿中提取联系人。我想过滤掉仅包含公司名称的联系人(以便您获得“假定的”真人联系人而不是企业)这是在我的应用程序的Objective-C版本中如何完成的:NSArray*allContacts=(__bridge_transferNSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook);NSPredicate*predicate=[NSPredicatepredicateWithBlock:^BOOL(idperson,NSDictionary*bindings){NSString*f

regex - 正则表达式与 Swift 中元字符的大小写和变音符号不敏感匹配

我正在尝试匹配用户输入中的粗鲁词语,例如“我恨你!”或“i.håté.Yoù”将与从JSON解析的单词数组中的“恨你”相匹配。所以我需要它不区分大小写和变音符号,并将粗鲁单词中的空格视为任何非字母字符:正则表达式元字符\P{L}应该适用于此,或者至少\W现在我知道[cd]与NSPredicate一起工作,就像这样:funcmatches(text:String)->[String]?{ifletrudeWords=JSON?["words"]as?[String]{returnrudeWords.filter{letpattern=$0.stringByReplacingOccurre