Ios 三个视图控制器跳闸10次后,UI被阻塞
我有3个视图控制器,比如说VC1->VC2->VC3通过导航控制器。在VC3中,我试图跳回VC1&再次通过进程VC1->VC2->VC3导航。从一个视图控制器转到另一个视图控制器时,使用以下代码Ios 三个视图控制器跳闸10次后,UI被阻塞,ios,objective-c,core-data,memory-management,Ios,Objective C,Core Data,Memory Management,我有3个视图控制器,比如说VC1->VC2->VC3通过导航控制器。在VC3中,我试图跳回VC1&再次通过进程VC1->VC2->VC3导航。从一个视图控制器转到另一个视图控制器时,使用以下代码 -(void)NEXTButtonpressed:(id)sender { PaymentVC *paymentview=[[PaymentVC alloc] initWithNibName:@"PaymentVC" bundle:Nil]; if (![[[OSEsingleton
-(void)NEXTButtonpressed:(id)sender
{
PaymentVC *paymentview=[[PaymentVC alloc] initWithNibName:@"PaymentVC" bundle:Nil];
if (![[[OSEsingleton sharedInstance].globaldictionary objectForKey:@"status"]boolValue])
{
if ([self validationforsupportersname])
{
[self.navigationController pushViewController:paymentview animated:YES];
}
}
else
{
[self.navigationController pushViewController:paymentview animated:YES];
}
}
经过10个周期后,我的UI被冻结,有时我会出现以下错误
一,
二,
我已经使用了它的时间配置文件。在一个方法调用[\u coredata parseTheCoreData:results]中,我获得了100%的CPU时间。我如何处理这个问题?看看你的代码,你好像忘了回去!这意味着您正在将所有这些视图控制器堆积到堆栈上,直到内存不足为止 第一个电话
[navigationController popToRootViewControllerAnimated:NO];
将所有push view controller调用设置为非动画的,最后一个除外。单击或执行任何操作以push controller时,是否可以显示您的代码。请在按下下一个按钮时查看我的更新代码。看起来您的内存不足-您也为此配置了吗?如果这个假设是正确的,您将需要发布更多的代码,因为您可能会在某个地方有一个保留周期,为什么不使用segues来移动呢?我将检查保留周期。在vc3,我也在做同样的事情。我在第二行提到。根据张贴的代码,你没有这样做。
levanApp[852] <Error>: ImageIO: PNG insufficient memory
(Occuring Rarely)
-(UIImage *)returnlogoimgae:(NSString *)imagename
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [NSString stringWithFormat:@"%@.png",imagename];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:path];
NSLog(@"%@",getImagePath);
UIImage *image=[UIImage imageWithContentsOfFile:getImagePath];
return image;
}
[navigationController popToRootViewControllerAnimated:NO];