我一直在阅读许多类似的问题和答案,但仍然不太明白这里出了什么问题.
我正在尝试创建一个按钮以返回上一个视图,但我不断收到标题中提到的错误.有人可以告诉我我做错了什么吗?
UIImage *image = [UIImage imageNamed:@"listbutton.png"]; UIButton *listbutton = [UIButton buttonWithType:UIButtonTypeCustom]; listbutton.bounds = CGRectMake( 0, 0, image.size.width, image.size.height ); [listbutton setImage:image forState:UIControlStateNormal]; [listbutton addTarget:self action:@selector(goBack:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:listbutton];
回去:
- (void)goBack { [self.navigationController popViewControllerAnimated:YES]; }
错误:
2014年1月5日22:03:13.344 tablepractice [12509:70B] - [DetailViewController GoBack的:]:无法识别的选择发送到实例0x8b72130 2014年1月5日22:03:13.348 tablepractice [12509:70B] *终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因: ' - [DetailViewController GoBack的:]:无法识别的选择发送到实例0x8b72130'*第一掷调用堆栈:(0的CoreFoundation 0x017405e4 exceptionPreprocess + 180 1 libobjc.A.dylib
0x014c38b6 objc_exception_throw + 44 2的CoreFoundation
0x017dd903 - [NSObject(NSObject)doesNotRecognizeSelector:] + 275 3
CoreFoundation 0x0173090b __ forwarding + 1019 4 CoreFoundation 0x017304ee _CF_forwarding_prep_0 + 14 5 libobjc.A.dylib 0x014d5874 - [NSObject performSelector:withObject:withObject:] + 77 6 UIKit 0x002330c2 - [UIApplication sendAction:到:从:forEvent:] + 108 7的UIKit
0x0023304e - [UIApplication的sendAction:toTarget:fromSender:forEvent:] + 61 8的UIKit 0x0032b0c1 - [UIControl sendAction:至:forEvent:] + 66 9的UIKit
0x0032b484 - [UIControl _ sendActionsForEvents:withEvent:] + 577 10 UIKit 0x0032a733 - [UIControl touchesEnded:withEvent:] + 641 11 UIKit
0x0027051d - [UIWindow _sendTouchesForEvent:] + 852 12 UIKit
0x00271184 - [UIWindow sendEvent:] + 1232 13 UIKit
0x00244e86 - [UIApplication sendEvent: ] + 242 14的UIKit
0x0022f18f _UIApplicationHandleEventQueue + 11421 15的CoreFoundation 0x016c983f CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15 16的CoreFoundation 0x016c91cb __CFRunLoopDoSources0 + 235 17的CoreFoundation 0x016e629e __CFRunLoopRun + 910 18的CoreFoundation
0x016e5ac3 CFRunLoopRunSpecific + 467 19的CoreFoundation
0x016e58db CFRunLoopRunInMode + 123个20 GraphicsServices
0x036e59e2 GSEventRunModal + 192个21 GraphicsServices
0x036e5809 GSEventRun + 104 22 UIKit
0x00231d3b UIApplicationMain + 1225 23 tablepractice
0x0000388d main + 141 24 libdyld.dylib
0x01d7e70d start + 1 25 ???
0x00000001 0x0 + 1)libc ++ abi.dylib:以NSException类型的未捕获异常终止
valheru.. 5
[listbutton addTarget:self action:@selector(goBack:) forControlEvents:UIControlEventTouchUpInside];
这需要更改为不在选择器方法中使用冒号:
[listbutton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
冒号意味着有一个参数,你的goBack方法没有参数.
[listbutton addTarget:self action:@selector(goBack:) forControlEvents:UIControlEventTouchUpInside];
这需要更改为不在选择器方法中使用冒号:
[listbutton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
冒号意味着有一个参数,你的goBack方法没有参数.