I've got an iPhone app with an NSTimer called pressTimer that goes off every time someone touches this button. The problem is they touch the button a lot, and I want the timer to stop when they lift up their finger. So I declared pressTimer in my .h and synthesized it in .m then assigned and started it on the TouchDown action I created. I use the code [pressTimer invalidate] on my TouchUpInside action that should cancel the timer, since it's a global variable. It seems to cancel the timer fine, but then when I go to actually trip the timer, the program freezes up completely, even though I get no code errors or warnings. I'm a noob, so please don't be too rough :0
Update: Console logs- Thanks guys!
continue
2010-07-01 16:39:30.981 Clickkr[1573:307] -[__NSCFData invalidate]: unrecognized selector sent to instance 0x154b40
2010-07-01 16:39:30.999 Clickkr[1573:307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFData invalidate]: unrecognized selector sent to instance 0x154b40'
*** Call stack at first throw:
(
0 CoreFoundation 0x309a5fd3 __exceptionPreprocess + 114
1 libobjc.A.dylib 0x318b58a5 objc_exception_throw + 24
2 CoreFoundation 0x309a9a77 -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
3 CoreFoundation 0x309a8f15 ___forwarding___ + 508
4 CoreFoundation 0x3093b680 _CF_forwarding_prep_0 + 48
5 Clickkr 0x00002b23 -[MyViewController addOne:] + 42
6 CoreFoundation 0x309307ad -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
7 UIKit 0x31e1f829 -[UIApplication sendAction:to:from:forEvent:] + 84
8 UIKit 0x31e1f7c9 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
9 UIKit 0x31e1f79b -[UIControl sendAction:to:forEvent:] + 38
10 UIKit 0x31e1f4ed -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
11 UIKit 0x31e1fb3b -[UIControl touchesEnded:withEvent:] + 342
12 UIKit 0x31e1e4ed -[UIWindow _sendTouchesForEvent:] + 368
13 UIKit 0x31e1de67 -[UIWindow sendEvent:] + 262
14 UIKit 0x31e19b5b -[UIApplication sendEvent:] + 298
15 UIKit 0x31e19507 _UIApplicationHandleEvent + 5022
16 GraphicsServices 0x30a8c147 PurpleEventCallback + 666
17 CoreFoundation 0x3097baab __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
18 CoreFoundation 0x3097d84f __CFRunLoopDoSource1 + 166
19 CoreFoundation 0x3097e62d __CFRunLoopRun + 520
20 CoreFoundation 0x309278eb CFRunLoopRunSpecific + 230
21 CoreFoundation 0x309277f3 CFRunLoopRunInMode + 58
22 GraphicsServices 0x30a8b6ef GSEventRunModal + 114
23 GraphicsServices 0x30a8b79b GSEventRun + 62
24 UIKit 0x31dc32a7 -[UIApplication _run] + 402
25 UIKit 0x31dc1e17 UIApplicationMain + 670
26 Clickkr 0x00002333 main + 70
27 Clickkr 0x000022e8 start + 40
)
terminate called after throwing an instance of 'NSException'
Program received signal: “SIGABRT”.