比较 RLMArray 和 NSString
Comparing a RLMArray with NSString
有没有办法比较 RLMArray 和 NSString?
我想将 textfield.text 与 RLMArray 的 存储的用户名 进行比较。
感谢您的帮助! :)
更新:
-(void)checkUser {
RLMArray<User *> *userObjects;
RLMResults *matches = [userObjects objectsWhere:@"name CONTAINS %@", _userName];
if (matches) {
NSLog(@"YES");
}
else {
NSLog(@"NO");
}
}
RLMArray 是 Realm 中用于定义对多关系的容器类型。
与 NSArray 不同,RLMArray 拥有单一类型,由 objectClassName
属性 指定。
为了进行比较,您必须有一个来自 RLMArray 的字符串对象。有很多方法可以做到这一点。例如,如果要将数组的第一个对象与 textfield.text
进行比较:
if ([[YOURARRAY firstObject] isEqualtoString:textfield.text]){
//do something
}
你也可以比较数组中的第二个对象,做这样的事情:
if ([[YOURARRAY objectAtIndex:1] isEqualtoString:textfield.text]){
//do something
}
这是领域的文档:
https://realm.io/docs/objc/latest/api/index.html
如果您有 RLMArray
个 User
个对象(因为 NSString
本身不能直接保存到 RLMArray
),并且您希望查看它们中的任何一个是否与 UITextField
的 NSString
值匹配,您应该能够使用 NSPredicate
查询非常轻松地做到这一点:
@interface User
@property NSString *username;
@end
NSString *textFieldString = textfield.text;
RLMArray<User *> *userObjects = .../
RLMResults *matches = [userObjects objectsWhere:@"username CONTAINS '%@'", textFieldString];
有关 NSPredicate
过滤的更多信息,Realm 还维护了一个您可以使用的语法列表:https://realm.io/news/nspredicate-cheatsheet/
祝你好运!
有没有办法比较 RLMArray 和 NSString?
我想将 textfield.text 与 RLMArray 的 存储的用户名 进行比较。
感谢您的帮助! :)
更新:
-(void)checkUser {
RLMArray<User *> *userObjects;
RLMResults *matches = [userObjects objectsWhere:@"name CONTAINS %@", _userName];
if (matches) {
NSLog(@"YES");
}
else {
NSLog(@"NO");
}
}
RLMArray 是 Realm 中用于定义对多关系的容器类型。
与 NSArray 不同,RLMArray 拥有单一类型,由 objectClassName
属性 指定。
为了进行比较,您必须有一个来自 RLMArray 的字符串对象。有很多方法可以做到这一点。例如,如果要将数组的第一个对象与 textfield.text
进行比较:
if ([[YOURARRAY firstObject] isEqualtoString:textfield.text]){
//do something
}
你也可以比较数组中的第二个对象,做这样的事情:
if ([[YOURARRAY objectAtIndex:1] isEqualtoString:textfield.text]){
//do something
}
这是领域的文档:
https://realm.io/docs/objc/latest/api/index.html
如果您有 RLMArray
个 User
个对象(因为 NSString
本身不能直接保存到 RLMArray
),并且您希望查看它们中的任何一个是否与 UITextField
的 NSString
值匹配,您应该能够使用 NSPredicate
查询非常轻松地做到这一点:
@interface User
@property NSString *username;
@end
NSString *textFieldString = textfield.text;
RLMArray<User *> *userObjects = .../
RLMResults *matches = [userObjects objectsWhere:@"username CONTAINS '%@'", textFieldString];
有关 NSPredicate
过滤的更多信息,Realm 还维护了一个您可以使用的语法列表:https://realm.io/news/nspredicate-cheatsheet/
祝你好运!