gpt4 book ai didi

ios - 如何使用 predicateWithFormat 查询 NSString 包含在 NSSet 中

转载 作者:行者123 更新时间:2023-11-28 22:39:11 25 4
gpt4 key购买 nike

使用 StackMob 作为后端。我有一个 Event 实体,它具有称为用户 users 的关系(类型 NSSet)。现在我想获取某个用户的 username@"someuser" 的所有事件。我的代码是这样的:

[self.client getLoggedInUserOnSuccess:^(NSDictionary *result) {
NSString *currentlyLoggedInUser = [result valueForKey:@"username"];

NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *eventEntity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:self.managedOjbectContext];
[request setEntity:eventEntity];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY users.username = %@", currentlyLoggedInUser];
NSLog(@"predicate: %@", predicate);
[request setPredicate:predicate];
NSLog(@"request: %@", request);
events = [NSArray new];
events = [self.managedOjbectContext executeFetchRequest:request error:nil];

/* this is working...
for (Event *e in events) {
NSLog(@"%@",[e.users filteredSetUsingPredicate:[NSPredicate predicateWithFormat:@"username == %@", currentlyLoggedInUser]]);

}
*/
NSLog(@"events: %@", events);
} onFailure:^(NSError *error) {

}];

最佳答案

如果我正确理解你的问题,你必须使用以下谓词:

NSString *userName = @"some user";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY users.username = %@", userName];

它会查找具有给定用户名的任何用户的所有事件。

关于ios - 如何使用 predicateWithFormat 查询 NSString 包含在 NSSet 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15026586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com