NSArray filteredArrayUsingPredicate 内存泄漏
NSArray filteredArrayUsingPredicate memory leak
当我尝试在 for 循环中使用 NSPredicate
来搜索日期内具有 NSDate
字段值的 NSArray
中的记录时,我遇到了巨大的内存泄漏范围 - 像这样:
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。
还有其他人看过吗?
Willeke 的回答就是答案:在循环中放置一个 @autoreleasepool
块。谢谢!
当我尝试在 for 循环中使用 NSPredicate
来搜索日期内具有 NSDate
字段值的 NSArray
中的记录时,我遇到了巨大的内存泄漏范围 - 像这样:
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。
还有其他人看过吗?
Willeke 的回答就是答案:在循环中放置一个 @autoreleasepool
块。谢谢!