Objective c 将RLMArray与NSString进行比较

Objective c 将RLMArray与NSString进行比较,objective-c,nsstring,realm,Objective C,Nsstring,Realm,有没有办法将RLMArray与NSString进行比较 我想将textfield.text与RLMArray的存储用户名进行比较 谢谢你的帮助!:) 更新: -(void)checkUser { RLMArray<User *> *userObjects; RLMResults *matches = [userObjects objectsWhere:@"name CONTAINS %@", _userName]; if (matches)

有没有办法将RLMArrayNSString进行比较

我想将textfield.text与RLMArray的存储用户名进行比较

谢谢你的帮助!:)

更新:

-(void)checkUser {
    RLMArray<User *> *userObjects;
            RLMResults *matches = [userObjects objectsWhere:@"name CONTAINS %@", _userName];

    if (matches) {
       NSLog(@"YES");
    }
    else {
       NSLog(@"NO");
    }
}
-(无效)检查用户{
RLMArray*用户对象;
RLMResults*matches=[userObjects objectsWhere:@“name CONTAINS%@”,_userName];
如果(匹配){
NSLog(@“是”);
}
否则{
NSLog(@“否”);
}
}

RLMArray是域中用于定义多个关系的容器类型

与NSArray不同,rlmarray只保存一种类型,由
objectClassName
属性指定

为了进行比较,必须从RLMArray中获得一个string对象。有很多方法可以做到这一点。例如,如果要将数组的第一个对象与
textfield.text

if([[YOURARRAY firstObject]IsequalString:textfield.text]){
//做点什么
}

您还可以比较数组中的第二个对象,执行如下操作:
if([[YOURARRAY objectAtIndex:1]IsequalString:textfield.text]){
//做点什么
}

以下是realm的文档:
如果您有
用户
对象的
RLMArray
(因为
NSString
s本身不能直接保存到
RLMArray
),并且您希望查看其中是否有任何匹配
UITextField
NSString
值,通过
NSPredicate
查询,您应该能够非常轻松地做到这一点:

@interface User
@property NSString *username;
@end

NSString *textFieldString = textfield.text;
RLMArray<User *> *userObjects = .../

RLMResults *matches = [userObjects objectsWhere:@"username CONTAINS '%@'", textFieldString];
@用户界面
@属性字符串*用户名;
@结束
NSString*textFieldString=textfield.text;
RLMArray*用户对象=/
RLMResults*matches=[userObjects objectsWhere:@“用户名包含“%@”,textFieldString];
有关
NSPredicate
筛选的更多信息,Realm还维护一个可以使用的语法列表:


祝你好运

这是一个好的开始!但是不能将
NSString
对象直接存储在
RLMArray
中。因此,表达式
[array[0]isEqualToString://code>在其中比较从数组本身返回的对象时,将永远不会返回true。当然,您可以使用for循环遍历每个对象并手动比较,但简单地使用
NSPredicate
查询要少得多请看我的更新。如果我完成了If。。。您的代码的else语句NSLog始终向我显示“是”。我做错了什么?是的。即使领域没有找到任何对象,它仍然会返回一个
RLMResults
对象,即使它是空的。这是因为该对象是“活动”的,如果您将更多对象添加到
userObjects
,它将自动更新新结果。最好测试
是否(matches.count>0)
非常感谢TiM!)我的荣幸!祝你的应用程序好运!:)