2010-10-04 3 views
0

Применение:Переключение представлений из AlertView Кнопки

Он имеет 3 вид Вид на A, B, C. Существует предупреждение на вид B с 2 кнопками на нем.

Что я делаю:

Я иду от View для просмотра B. На B, я нажимаю на кнопку оповещения, чтобы вернуть меня на View A.

Проблема:

Когда я нажимаю кнопку, чтобы снова перейти к View B, тогда появляется ошибка, связанная с свойством isValid таймера. Таймер объявлен и используется в представлении B В других случаях, когда я использую настраиваемую кнопку для переключения между A & B, тогда она отлично работает.

Линия, в которой я получаю ошибку: BOOL dec = [timer isValid];

Что может быть неправильно?


КОД ДЛЯ ALERT VIEW Кнопка переключения Фототуры

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 

     if(buttonIndex == 0) 
     { 
      [self dismissModalViewControllerAnimated:YES]; 
      } 
} 

КОДЕКС ГДЕ ПРОБЛЕМА ПРОИСХОДИТ при переключении обратно ЖЕ ЦЕЛЬЮ ЯВЛЯЕТСЯ

-(void)viewWillAppear:(BOOL)animated 
{ 

     BOOL dec = [timer isValid]; 

     NSLog(@"TIMER CHECK"); 

     if (dec == YES) 
     { 
      [timer invalidate]; 
     }  
} 

ОШИБКА ЧТО ОТОБРАЖАЕТСЯ В NSLOG IS:

-[__NSCFType isValid]: unrecognized selector sent to instance 0x5996870 
2010-10-04 15:49:00.630 sqlite[5263:207] *** Terminating app due to uncaught exception  'NSInvalidArgumentException', reason: '-[__NSCFType isValid]: unrecognized selector sent to instance 0x5996870' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x023e9919 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x025665de objc_exception_throw + 47 
    2 CoreFoundation      0x023eb42b -[NSObject(NSObject) does NotRecognizeSelector:] + 187 
    3 CoreFoundation      0x0235b116 ___forwarding___ + 966 
    4 CoreFoundation      0x0235acd2 _CF_forwarding_prep_0 + 50 
    5 sqlite        0x0000393b -[sqliteViewController viewWillAppear:] + 622 
    6 UIKit        0x0055775d -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:] + 5402 
    7 UIKit        0x0036e769 -[UIViewController presentModalViewController:withTransition:] + 2937 
    8 UIKit        0x00367a5e -[UIViewController _tryRecursivelyPresentModalViewController:withTransition:] + 134 
    9 UIKit        0x0036df42 -[UIViewController presentModalViewController:withTransition:] + 850 
    10 sqlite        0x00005d8a -[StartPageViewController startQuiz:] + 68 
    11 UIKit        0x002c2e14 -[UIApplication sendAction:to:from:forEvent:] + 119 
    12 UIKit        0x0034c6c8 -[UIControl sendAction:to:forEvent:] + 67 
    13 UIKit        0x0034eb4a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527 
    14 UIKit        0x0034d6f7 -[UIControl touchesEnded:withEvent:] + 458 
    15 UIKit        0x002e62ff -[UIWindow _sendTouchesForEvent:] + 567 
    16 UIKit        0x002c81ec -[UIApplication sendEvent:] + 447 
    17 UIKit        0x002ccac4 _UIApplicationHandleEvent + 7495 
    18 GraphicsServices     0x02c04afa PurpleEventCallback + 1578 
    19 CoreFoundation      0x023cadc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
    20 CoreFoundation      0x0232b737 __CFRunLoopDoSource1 + 215 
    21 CoreFoundation      0x023289c3 __CFRunLoopRun + 979  
    22 CoreFoundation      0x02328280 CFRunLoopRunSpecific + 208 
    23 CoreFoundation      0x023281a1 CFRunLoopRunInMode + 97 
    24 GraphicsServices     0x02c032c8 GSEventRunModal + 217 
    25 GraphicsServices     0x02c0338d GSEventRun + 115 
    26 UIKit        0x002d0b58 UIApplicationMain + 1160 
    27 sqlite        0x00002910 main + 102 
    28 sqlite        0x000028a1 start + 53 
) 
terminate called after throwing an instance of 'NSException' 

ответ

0

У него есть причина. Я пытался аннулировать уже недействительный таймер. Спасибо Anyways

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