尝试在for循环中使用NSPredicate
来搜索NSArray
中日期范围内NSDate
字段值的记录时,我遇到了巨大的内存泄漏 - 像这样:
for(int i=0;i<nLen;i++)
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date >= %@ AND date <= %@", dateStart,dateEnd];
NSArray *result = [myDataArray filteredArrayUsingPredicate:predicate];
}
简单测试表明它是filteredArrayUsingPredicate
函数泄漏。
在iPhone 7s上使用XCode版本9.2(9C40b)和iOS 11.2.1。
有没有人见过这个?
答案 0 :(得分:3)
Willeke的回答是答案:在循环中放置一个@autoreleasepool
块。谢谢!