未声明的选择器goBack警告和无法识别的选择器发送到实例终止

 手机用户2502914467 发布于 2023-02-06 12:58

我一直在阅读许多类似的问题和答案,但仍然不太明白这里出了什么问题.

我正在尝试创建一个按钮以返回上一个视图,但我不断收到标题中提到的错误.有人可以告诉我我做错了什么吗?

 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方法没有参数.

1 个回答
  • [listbutton addTarget:self action:@selector(goBack:) forControlEvents:UIControlEventTouchUpInside];
    

    这需要更改为不在选择器方法中使用冒号:

    [listbutton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
    

    冒号意味着有一个参数,你的goBack方法没有参数.

    2023-02-06 13:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有