filteredArrayUsingPredicate在iphone5上引发EXC_BAD_ACCESS而不在iphone6上引发

时间:2015-05-06 10:31:40

标签: ios objective-c nspredicate iphone-5 iphone-6

我有这个:

// self.theWholeEventsArray is NSMutableArray * populated properly after segue

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy/MM/dd@hh:mm"];

NSDate *startDate = [dateFormatter dateFromString:@"2015/05/29@00:00"];
NSDate *endDate = [dateFormatter dateFromString:@"2015/06/03@00:00"];

NSPredicate *tmpPred = [NSPredicate predicateWithFormat:@"(%K => %@) AND (%K =< %@)", @"dateOfTheEvent", startDate, @"dateOfTheEvent", endDate];

NSArray *selectedDateArray = [self.theWholeEventsArray filteredArrayUsingPredicate:tmpPred];

它在iphone6和iPad上完美运行,但在iphone5和iphone4s上与EXC_BAD_ACCESS代码= 1崩溃。我也在模拟器和设备上看到了这个问题。 任何人都可以解释为什么以及如何解决这个崩溃?

1 个答案:

答案 0 :(得分:0)

我的Event类将dateOfTheEvent属性声明为(nonatomic, **assign**),因此在segue之后不会保留在目标视图控制器中。