问题标签 [unrecognized-selector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3378 浏览

ios - 中断无法识别的选择器

是否可以在控制台中对这一点反馈设置断点?这将使处理这个问题变得容易得多。

0 投票
3 回答
18523 浏览

ios - 无法识别的选择器发送到实例(iOS)

可能重复:
发送到实例的无法识别的选择器

嗯......像许多其他人一样,我收到了“无法识别的选择器发送到实例”错误......

当我按下按钮时会出现问题,例如在这种情况下:

错误是:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[Tone gotoTone:]: unrecognized selector sent to instance 0x531caa0”

在我插入新视图作为呈现给用户的第一个视图后,错误开始发生......另外,我使用导航栏,起初我忘记进入 MainWindow.xib 并将导航控制器更改为新视图,但这现在已经解决了。

你可以看到我的整个代码她:

文件所在的 .h:http://snipt.org/xnoO 文件所在的 .m:http : //snipt.org/xnoM

不要介意所有注释掉的行,直到我解决这个问题...

我已经尝试通过阅读“发送到实例的无法识别的选择器”的其他案例来找到解决方案,但我想我只是没有看到解决方案。我检查了我的 IB 连接,我已经清理了项目等等......

任何帮助将不胜感激

0 投票
3 回答
2013 浏览

objective-c - 尝试关闭键盘时出现“无法识别的选择器”错误

当用户按下“取消”UIBarButtonItem 时,我试图关闭键盘。但是,当我单击取消按钮时,我收到一个带有“无法识别的选择器发送到实例”错误的 SIGABRT。

我创建取消按钮的代码是:

要关闭键盘,我有这种方法:

这似乎很简单。有任何想法吗?

更新:activeField 只是我用来将我的滚动视图移动到用户当前正在编辑的 UITextField 的 UITextField。在这两种方法中设置:

更新 2:有趣的是,我已经注册了 ViewController 以接收键盘通知,当我尝试使用“textFieldShouldReturn”方法关闭键盘时,我得到了同样的错误。这是我的 textFieldShouldReturn 代码:

0 投票
2 回答
205 浏览

iphone - Obj-C 中的错误“发送到实例的无法识别的选择器”

一些信息: 我有两个不同的类,“House”和“Treasury”。它们都在同一个 NSMutableArray 中,称为“结构”。House 有一个 (int) 变量,称为“所有权”。我使用一个 for 循环(100 个循环)在一个区域内创建房屋和金库。然后我有另一个循环遍历“结构”并为其分配一个“所有权”整数。在那个循环中,我使用 for(Houses *h in structures) 但由于某种原因,循环也循环通过结构中的“金库”。不过,财政部没有所有权变量,所以我收到错误消息,告诉我“setOwnership:”不存在。我也在使用 Cocos2D,但这没关系。

代码如下所示:

结构:

房子:

国库:

这是错误:

我知道我可以制作一个名为“treasuries”的不同 NSMutableArray,但如果可能的话,我想将所有内容都保存在一个数组中。我想知道为什么即使我指定遍历“House *h in structure”,它仍然会遍历国库。如果您需要以下任何其他信息评论,我会添加。谢谢!

0 投票
1 回答
15697 浏览

ios - NSInvalidArgumentException“发送到实例的无法识别的选择器”(使用 MPMoviePlayerController)

嗯,我在一个 RootViewController 中有一个 TableView 和一个 DetailViewController 用于显示单条记录的信息。在详细信息页面中,我必须播放多媒体文件,并且我正在使用框架 MediaPlayer,根据本指南: http ://www.techotopia.com/index.php/Video_Playback_from_within_an_iOS_4_iPhone_Application

似乎一切正常,但是当我单击播放按钮时出现此错误:

这些是我的文件:

在 AppDelegate我使用这个导航控制器:

在 RootViewController 中,我使用此指令传递给 DetailViewController:

详细信息ViewController.h

这是 DetailsViewController.m

我的问题是:我的错误在哪里?我想它是在 playmovie 方法的调用中,但我想不出一个解决方案!

PS
不小心把评论删了,很抱歉!=(

0 投票
3 回答
9701 浏览

ios - UIButton 的 IBAction 导致无法识别的选择器发送到实例错误 (iOS)

我在使用一些 UIButton 来调用标签栏应用程序中的操作时遇到问题。

我的 .h 文件:

我的 .m 文件:

我的 .m 文件:

我收到的错误消息是(单击任何按钮都会收到错误消息,特别是单击电子邮件按钮):

我尝试将出口和操作连接并重新连接到视图控制器上的对象。是否有可能因为 SDK 无法运行测试电话或电子邮件而崩溃?

我在调试器中输入了“po 0x6b328d0”以找出问题对象是什么,它以 UIViewController 的形式返回,这可能意味着视图控制器在调用操作之前已被释放?是什么原因造成的?

谢谢。


ContactViewController.xib 的 Interface Builder 的图片

0 投票
2 回答
285 浏览

cocoa - 取消按钮的选择器与其他按钮的选择器的工作方式不同

我有一个属于 FooController 类的面板 xib。FooController 也有面板的取消和继续按钮的出口。

后来我决定回收这个面板供应用程序委托的终止例程使用。当我将选择器分配给按钮时,我发现继续/保存按钮和以编程方式添加的 DontSave 按钮可以接受应用程序委托类中定义的选择器方法。但是取消按钮会导致“无法识别的选择器”错误,除非它的选择器是在所有者类 FooController 中定义的。

好吧,这似乎是合乎逻辑的。为了保持一致,我也在 FooController 类中设置了 Proceed/Save 和 DontSave 选择器。但随后它们会产生“无法识别的选择器”错误。

因此,取消按钮要求其选择器位于 FooController 类中。Proceed/Save 和 DontSave 按钮要求它们的选择器位于 appDelegate 类中。但是所有三个按钮都显式地归 FooController 所有;正如您在下面的代码中看到的,即使添加的 DontSave 按钮也显式分配给 FooController 拥有的面板的 contentView:

我之前注意到典型的取消功能往往会自动工作。例如,Escape 键会自动调用您标题为“取消”的任何按钮。也许这里有类似的幕后机器在工作。如果是这样,我希望我能更好地理解发生了什么。就目前而言,我担心这些纵横交错的选择器有一天可能会损坏,即使它们现在都可以正常工作。这种不一致令人不安。

0 投票
2 回答
237 浏览

objective-c - 其他类中的属性上无法识别的选择器

编译时收到以下错误消息:

有趣的是,我的 TargetViewController 甚至没有“人”属性 (NSMutableArray)。

我的应用程序的结构是我有一个带有 tableView 的 tabbarcontroller,它有一个 detailView,在第二个选项卡中是一个带有弹出框的普通视图(targetVieController)。

(你可能会看到我用故事板设置了整个东西,这也是我的应用程序的名称。

快速帮助表示赞赏!


编辑

也许我应该补充一点,一旦应用程序开始加载,编译器就会抛出错误……</p>

按照 Michaels 和 MrMusic 的建议,我在我的呼叫堆栈中搜索人员并得到以下信息:

_cmd = SEL 0x6eae setPeople:(我认为这只是一个有断点的通知)

而且,令人惊讶的是,我有一个包含“人类”的数组,但它们没有显示在另一个选项卡的我的表格视图中。

回溯:

0 投票
1 回答
887 浏览

ios5 - UIPickerView:发送到实例的无法识别的选择器

我正在构建一个用于将数据输入 Web 数据库的表单。一切都很顺利,但我必须有多个选择器和多组数据。我正在尝试设置一个可以实例化并设置为数据源的类,并委托给我拉起的选择器,并达到一定程度,但使用了另一种方法。现在我无法让它加载数据,给我这个错误:

所以这是我的选择器类代码:

这是实际的选择器本身。

想法?

0 投票
1 回答
2980 浏览

objective-c - `发送到实例的无法识别的选择器`发送`dismissViewControllerAnimated:completion`到UIViewController之后

很多类似的问题,但没有适用于我的解决方案。


我尝试编写一个简单的 FlipSideApp。只有两个视图,每个视图都有一个按钮 (flipBtn | flopBtn) 来呈现另一个视图,反之亦然。 flip在第一个视图上工作正常。flop另一种观点是导致
unrecognized selector sent to instance 0x6c3adf0.

调用[self dismissViewControllerAnimated:YES completion:nil]; 文件FlipSide.m后应用程序崩溃(参见下面的代码)。0x6c3adf0在这种情况下,当前地址在哪里是self一个实例FlipSide : UIViewController

所以我认为错误消息中提到的无法识别的选择器是dismissViewControllerAnimated:completion-method。
在输入 Xcode 的 CodeSense 时“推荐”该方法。

根据UIViewController Class Reference,此方法在 iOS 5.0 SDK 中是已知的。
我的部署目标是 5.0,设备 iPhone,基础 SDK iOS 5.0,架构标准 (arm7)。

为所有异常设置符号断点后,调试器在主函数中的 UIApplicationMain 处停止。这没什么能给我提示的。
僵尸对象已启用。即使我认为内存泄漏不是这里的问题。

我该怎么做才能使选择器被识别?



文件:“ AppDelegate.m




文件:“ FirstViewController.h


文件:“ FirstViewController.m




文件:“ FlipSide.h


文件:“ FlipSide.m




控制台输出为: