views:

32

answers:

3

Application :

It has 3 views Views A,B,C. There is a Alert on View B with 2 buttons on it.

What I do is:

I go from View A to View B. On B, I click on the Alert button to take me back on View A.

Problem:

When i click on the button to again go to View B then it gives an error related to "isValid" property of timer. Timer is declared and used in View B In Other cases, when i use custom button to switch between A & B then it works fine.

The Line where i get Error: BOOL dec = [timer isValid];

What could be Wrong??

Thanks in advance. Your Suggestions are most Welcome

A: 

Can you post some code that is responsible for switching views? Also output from log about the error would be usefull for diagnosis.

reecon
What happened reecon please suggest. waiting for your reply
PARTH
A: 

Hi reecon here is the code information you wanted.

THE CODE FOR ALERT VIEW BUTTON TO SWITCH VIEWS IS

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

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

}

THE CODE WHERE THE PROBLEM OCCURS WHEN SWITCHING BACK TO SAME VIEW IS

-(void)viewWillAppear:(BOOL)animated {

BOOL dec = [timer isValid];

NSLog(@"TIMER CHECK");

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

ERROR THAT IS DISPLAYED IN 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) doesNotRecognizeSelector:] + 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'

Waiting for your reply. Thanks in advance

PARTH
A: 

Got the reason for it. I was trying to invalidate an already invalidated timer. Thanks Anyways

PARTH