2012-03-21 54 views
0

我想呈现一个modelViewController,它可以在iOs 5设备和模拟器上完美工作,但在iOs 4.3.1模拟器上却不能工作,但它不适用于iOs 4.0.1越狱设备。 我尝试调试我的代码,viewController初始化,但方法viewWillAppear没有在我的设备上使用iOs 4.0.1 jailbroken调用。它在所有其他设备上被调用。 这里是我的代码presentModalViewController不适用于设备iOs 4.0.1 jailbroken

loadingView=[[UpdatingVc alloc]initWithVar:var1 andVars:var2 andVarz:var3]; 
[self presentModalViewController:loadingView animated:YES]; 

我与主varNames墙根原变种名出于安全原因。 init方法是:

-(id)initWithVar:(NSString*)var andVars:(NSString *)vor andVarz:(NSString *)vers{ 
self = [super initWithNibName:@"UpdatingVc" bundle:[NSBundle mainBundle]]; 
if(self) //good practice to check first 
{ 
    _a=var; 
    _b=vor; 
    _c=vers; 
} 
return self; 
} 

谢谢

回答

1

我相信你的init方法应该是

-(id)initWithVar:(NSString*)var andVars:(NSString *)vor andVarz:(NSString *)vers{ 
self = [super initWithNibName:@"UpdatingVc" bundle:[NSBundle mainBundle]]; 
if(self) //good practice to check first 
{ 
    _a=var; 
    _b=vor; 
    _c=vers; 
} 
return self; 
} 

注意自我=在超级的init方法的前面部分,你需要设置init方法中self的值。

希望有帮助!

+0

NOP模拟器,没有工作,我通常会写下我的代码,你的方式但是我尝试了不同的方式,并且在我的问题中粘贴了错误的1。无论如何生病编辑我的问题替换你的代码。谢谢你的纠正 – Legnus 2012-03-21 12:53:16

0

我发现这个问题,我是呈现ModalViewController的梅索德viewDidAppear内, 因此该解决方案是创建一个方法: - (无效)更新,并且此方法内把呈现modalViewController的代码,然后添加选择器到viewDidAppear中的这个方法,而不是直接调用它。 所以我的代码现在是

-(void) viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    [self performSelector:@selector(update) withObject:nil afterDelay:1]; 
} 
-(void)update{ 
    loadingView=[[UpdatingVc alloc]initWithVar:var1 andVars:var2 andVarz:var3]; 
    [self presentModalViewController:loadingView animated:YES]; 
} 

请注意此问题只发生在iOS 4的设备上,而不是与iOS 4.0

相关问题