2012-03-21 2 views
0

Я пытаюсь представить modelViewController, он отлично работает на устройстве iOS 5 и симуляторе, на симуляторе iOs 4.3, но он не работает на jailbroken устройстве iOs 4.0.1. Я пытаюсь отладить мой код, viewController инициализируется, но метод viewWillAppear не вызывается на моем устройстве с iOS 4.0.1 jailbroken.It вызывается на всех других устройствах. вот мой кодpresentModalViewController не работает на устройстве iOs 4.0.1 jailbroken

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

Я спрятался оригинальные имена Var с основным именем переменного по соображениям безопасности. Метод инициализации является:

-(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

Я считаю, что ваш метод инициализации должен быть

-(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; 
} 

примечания самости = часть перед методом инициализации супер, вы должны установить значение self в методе init.

Надеюсь, это поможет!

+0

Nop, которые не работают, я обычно записываю мой код так, как вы но я пробовал разные подходы, и я вставляю неправильный 1 в свой вопрос. в любом случае, я неправильно отредактировал свой вопрос, заменив ваш код. Спасибо за исправление – Legnus

0

Я нашел эту проблему, я представлял ModalViewController внутри Methode 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]; 
} 

отмечают, что эта проблема встречается только в ИО 4 на устройстве, а не на тренажере с прошивкой 4.0

Смежные вопросы