热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NSInvalidArgumentException:无法识别的选择器发送到实例|迅速

如何解决《NSInvalidArgumentException:无法识别的选择器发送到实例|迅速》经验,为你挑选了1个好方法。

我意识到这个问题已被多次提出,但它似乎是由许多不同的事情引起的,并且非常具有情境性.

我的踪迹:

2015-02-27 16:20:06.289 RTApp[43486:1122681] -[RTApp.conversationVC keyboardWasShown]: unrecognized selector sent to instance 0x7f866a766830
2015-02-27 16:20:06.291 RTApp[43486:1122681] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RTApp.conversationVC keyboardWasShown]: unrecognized selector sent to instance 0x7f866a766830'
*** First throw call stack:
(
0   CoreFoundation                      0x00000001071b8f35 __exceptionPreprocess + 165
1   libobjc.A.dylib                     0x0000000106e51bb7 objc_exception_throw + 45
2   CoreFoundation                      0x00000001071c004d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3   CoreFoundation                      0x000000010711827c ___forwarding___ + 988
4   CoreFoundation                      0x0000000107117e18 _CF_forwarding_prep_0 + 120
5   CoreFoundation                      0x0000000107188cec __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
6   CoreFoundation                      0x00000001070888a4 _CFXNotificationPost + 2484
7   Foundation                          0x00000001069af6b8 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
8   UIKit                               0x0000000107c75eb8 -[UIInputWindowController postEndNotifications:withInfo:] + 527
9   UIKit                               0x0000000107c77725 __77-[UIInputWindowController moveFromPlacement:toPlacement:starting:completion:]_block_invoke572 + 354
10  UIKit                               0x0000000107617113 -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 326
11  UIKit                               0x00000001075fee6a -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 209
12  UIKit                               0x00000001075ff1a0 -[UIViewAnimationState animationDidStop:finished:] + 76
13  QuartzCore                          0x0000000105c4c7ee _ZN2CA5Layer23run_animation_callbacksEPv + 308
14  libdispatch.dylib                   0x0000000108de57f4 _dispatch_client_callout + 8
15  libdispatch.dylib                   0x0000000108dce8fb _dispatch_main_queue_callback_4CF + 949
16  CoreFoundation                      0x0000000107120fe9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
17  CoreFoundation                      0x00000001070e3eeb __CFRunLoopRun + 2043
18  CoreFoundation                      0x00000001070e3486 CFRunLoopRunSpecific + 470
19  GraphicsServices                    0x000000010aa0f9f0 GSEventRunModal + 161
20  UIKit                               0x00000001075a5420 UIApplicationMain + 1282
21  RTApp                               0x000000010563623e top_level_code + 78
22  RTApp                               0x000000010563627a main + 42
23  libdyld.dylib                       0x0000000108e1a145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

而且有问题的功能:

func keyboardWasShown(notification: NSNotification){

    let dict:NSDictiOnary= notification.userInfo!
    let s:NSValue = dict.valueForKey(UIKeyboardFrameEndUserInfoKey) as NSValue
    let rect:CGRect = s.CGRectValue()

    UIView.animateWithDuration(0.3, delay: 0, options: .CurveLinear, animations: {
        self.resultsScrollView.frame.origin.y = self.scrollViewOriginalY - rect.height
        self.frameMessageView.frame.origin.y = self.frameMessageOriginalY - rect.height

        var bottomOffset:CGPoint = CGPointMake(0, self.resultsScrollView.contentSize.height - self.resultsScrollView.bounds.size.height)
        self.resultsScrollView.setContentOffset(bottomOffset, animated: false)

        }, completion: {
            (finished:Bool) in
    })
}

所以这应该只是推动视图,因此键入时不会被键盘覆盖.但是一旦我拉起键盘,它就会崩溃.如果Xcode告诉你错误是哪一行会很好,但这太容易了..

这是否意味着该函数无法识别我传入的参数?或者为什么它不能识别'选择器'?



1> Matthias Bau..:

通过错误消息判断reason: '-[RTApp.conversationVC keyboardWasShown]: unrecognized selector您在添加通知观察器时使用了错误的选择器.

您应该使用Selector("keyboardWasShown:")而不是Selector("keyboardWasShown")因为您的方法有一个参数.


推荐阅读
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 解决文件名过长下载失败问题的jQuery方案
    本文介绍了使用jQuery解决文件名过长导致下载失败的问题。原方案中存在文件名部分丢失的问题,通过动态生成隐藏域表单并提交的方式来解决。详细的解决方案和代码示例在文章中给出。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
author-avatar
眼泪--保持微笑_572_205
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有