Tag: nspredicate

电子邮件使用特殊字符的正则expression式问题

我创build了以下正则expression式来validation我的电子邮件 – (BOOL)isValidEmail { BOOL stricterFilter = YES; NSString *stricterFilterString = @"[A-Z0-9a-z\\._%+-]+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}"; NSString *laxString = @".+@([A-Za-z0-9]+\\.)+[A-Za-z]{2}[A-Za-z]*"; NSString *emailRegex = stricterFilter ? stricterFilterString : laxString; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; return [emailTest evaluateWithObject:self]; } 但是当我input以下内容时失败: b. !@#$%^ bfv@mn.cn 我的正则expression式有什么问题吗?

CoreData谓词ANY +与对多关系

我在我的模型中定义了这些实体: [Sample] – results (to many relation with [Result]) [Parameter] – results (to many relation with [Result]) – compliant (number value) [Result] – parameter (relation with [Parameter]) – sample (relation with [Sample]) 对于[Sample]对象“MySample”,我需要获取所有具有以下内容的[Parameter]对象: [Result].compliant = 1 AND [Result].sample = MySample 所以,我试图使用谓词来获取[Parameter]对象,谓词将是这些谓词的总和: // returns all parameters that have a result compliant value equal to 1: ANY […]

sorting描述符不正确或一致

我在4个实体之间使用sorting描述符和集合谓词。 实体一:workoutType关系训练1到多个实体二:workoutSet关系天1到多个实体三:workoutDay关系练习1到多个实体四:workoutExercise 倒数也被设置。 我收到的问题是sortDescriptor在幕后正常工作,但是显示的内容不正确。 例如在我的workoutDay实体,我有stringtypes的属性dayName。 储存值:第1天,第2天,第3天。 当在tableview中运行显示值时:第1天,第3天,第2天。 当我点击从上到下的日子: 第1天….下一个视图控制器显示正确的第1天的数据。 第3天….下一个视图控制器显示第2天的数据(不是第3天)。 第2天….下一个视图控制器显示第3天的数据(不是第2天)。 所以sorting描述符正在工作,但显示的内容与正在select的内容不相关。 码: -(void)fetchWorkoutDays { NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"WorkoutDay"]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"workoutSet = %@", self.workoutSet]; [fetchRequest setPredicate:predicate]; NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"dayName" ascending:YES]; [fetchRequest setSortDescriptors:@[sortDescriptor]]; self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil]; //self.fetchedResultsController.delegate = self; NSError *error; if (![self.fetchedResultsController performFetch:&error]) { […]

为什么nspredicate不工作

– (NSFetchedResultsController *)fetchedResultsController { if (_fetchedResultsController != nil) { return _fetchedResultsController; } NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"KeyRefEntity" inManagedObjectContext:self.managedObjectContext]; [fetchRequest setEntity:entity]; [fetchRequest setFetchBatchSize:20]; NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"time" ascending:NO]; NSArray *sortDescriptors = @[sortDescriptor]; [fetchRequest setSortDescriptors:sortDescriptors]; NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"time" cacheName:@"Master"]; aFetchedResultsController.delegate = self; self.fetchedResultsController = […]

当select多个相同types时,操作扩展激活规则谓词不隐藏操作

您好,我正在尝试使动作扩展到只与一个单一的GIF文件。 这里是我的代码(使用Apple的文档中提供的代码片断创build的: SUBQUERY ( extensionItems, $extensionItem, SUBQUERY ( $extensionItem.attachments, $attachment, ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.compuserve.gif" ).@count == $extensionItem.attachments.@count ).@count == 1 这个扩展应该是在Photos应用程序内工作,我已经尝试了多个场景:单个GIF文件,单个非GIF文件,多个非GIF文件,GIF和非GIF文件的混合,以及多个GIF文件。 除了多个GIF文件,所有上述scheme都可以工作 – 如果我select多个项目,则会重新显示该操作。 我希望该操作只在使用单个GIF时出现。 我在做什么错在上面的谓词?

如何使用predicateWithFormat进行查询NSString包含在NSSet中

使用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]; […]

仅在设置中设置为ON的数组中search

我只需要在设置为ON的数组中进行search和过滤。 现在我循环所有数组的dict : – (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"Name CONTAINS[cd] %@ OR Address CONTAINS[cd] %@", searchText, searchText]; searchResults = [NSMutableArray array]; for (NSString *akey in dict) { NSLog(@"%@", akey); NSArray *array = [dict objectForKey:akey]; NSArray *matches = [array filteredArrayUsingPredicate:resultPredicate]; if (matches.count > 0) { [searchResults addObjectsFromArray:matches]; } } } NSLog(@“%@”,akey); 2013-05-01 11:34:07.256 […]

NSPredicate用于检测属性的类

我有事件,每个事件与NSManagedObject娱乐有一对一的关系,娱乐有多对多的关系,并有NSSet事件 @interface Event : NSManagedObject @property (nonatomic, retain) NSDate *creationDate; @property (nonatomic, retain) NSDate * date; @property (nonatomic, retain) NSString * objectId; @property (nonatomic, retain) NSString * price; @property (nonatomic, retain) Entertainment *entertainment; @property (nonatomic, retain) Place *place; @property (nonatomic, retain) NSString *townName; – (void)fillProperties:(NSDictionary *)JSON; @end @interface Entertainment : NSManagedObject @property (nonatomic, retain) NSString […]

使用NSPredicate比较两个arrays

我有两个数组,一个代表全尺寸图像的列表,另一个代表图像的缩略图。 有一种方法,使用NSPredicate来检查全尺寸图像是否有缩略图? 拇指叫做img {number} _thumb.jpg,而全尺寸的图像叫做img {number} .jpg。

嵌套子查询无法编译的NSPredicate(核心数据)

我的相关部分的CoreDate DB Category<–>>Subcategory<–>>Gym<<–>>Membership 我试图让所有拥有至less一个健身房的用户拥有活跃会员资格的类别。 我有一个数组与所有用户的活跃成员资格uid(每个成员资格都有一个在数据库中的uid)我想下面的查询不能编译,我甚至把它确定为子string,以确保没有错误: NSString *shopsSubquery = [NSString stringWithFormat:@"(SUBQUERY($y.programs,$z, $z.uid IN %@).@count > 0)",activeProgramsUIDsArray]; NSString *subcategorySubquery = [NSString stringWithFormat:@"(SUBQUERY($x.gyms,$y, %@).@count > 0)",shopsSubquery] ; predicate = [NSPredicate predicateWithFormat:@"(SUBQUERY(subcategories, $x, %@).@count > 0)", subcategorySubquery]; 编译器对于问题的根源是非常没有帮助的。 我已经重写了这个谓词超过了10次,什么都可以弄清楚我错过了什么?