我在 iPhone 应用程序上动态创建按钮。
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:atitle forState:UIControlStateNormal];
[btn addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside]; // handle touch
[buttons addObject:btn];
----------
-(void) buttonTouched:sender{
}
----------
-[NSCFString buttonTouched:]: unrecognized selector sent to instance 0x592ef70
2010-07-28 08:59:43.551 DataManager[1707:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString buttonTouched:]: unrecognized selector sent to instance 0x592ef70'
*** Call stack at first throw:
(
0 CoreFoundation 0x02398919 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x024e65de objc_exception_throw + 47
2 CoreFoundation 0x0239a42b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x0230a116 ___forwarding___ + 966
4 CoreFoundation 0x02309cd2 _CF_forwarding_prep_0 + 50
5 UIKit 0x002bce14 -[UIApplication sendAction:to:from:forEvent:] + 119
6 UIKit 0x003466c8 -[UIControl sendAction:to:forEvent:] + 67
7 UIKit 0x00348b4a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
8 UIKit 0x003476f7 -[UIControl touchesEnded:withEvent:] + 458
9 UIKit 0x00534070 _UIGestureRecognizerUpdateObserver + 3687
10 CoreFoundation 0x02379d1b __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 27
11 CoreFoundation 0x0230e987 __CFRunLoopDoObservers + 295
12 CoreFoundation 0x022d7c17 __CFRunLoopRun + 1575
13 CoreFoundation 0x022d7280 CFRunLoopRunSpecific + 208
14 CoreFoundation 0x022d71a1 CFRunLoopRunInMode + 97
15 GraphicsServices 0x02bfd2c8 GSEventRunModal + 217
16 GraphicsServices 0x02bfd38d GSEventRun + 115
17 UIKit 0x002cab58 UIApplicationMain + 1160
18 DataManager 0x00001c4c main + 102
19 DataManager 0x00001bdd start + 53
)
terminate called after throwing an instance of 'NSException'
Program received signal: “SIGABRT”.
有任何想法吗?