iOS---导致无法识别的选择器发送到实例 0x7f803a59cc50 的按钮

Posted

技术标签:

【中文标题】iOS---导致无法识别的选择器发送到实例 0x7f803a59cc50 的按钮【英文标题】:iOS---Button causing unrecognized selector sent to instance 0x7f803a59cc50 【发布时间】:2015-01-21 10:07:34 【问题描述】:

我的视图中有 3 个按钮,一个按钮可以更改文本视图中单词的背景颜色,一个可以正常工作。一个按钮可以更改文本视图中的单词轮廓。每次单击时都会出现这个错误。

这是我的错误:

libc++abi.dylib: terminating with uncaught exception of type NSException 
and Thread 1 : signal SIGABRT

而且系统不知道究竟是哪个部分崩溃,所以我查看了日志导航器。这是我的日志导航器日志:

2015-01-21 17:42:04.482   Attributer[2592:79541] -[ViewController outlineBodySelection]: unrecognized selector sent to instance 0x7f803a59cc50
2015-01-21 17:42:04.485 Attributer[2592:79541] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ViewController outlineBodySelection]: unrecognized selector sent to instance 0x7f803a59cc50'

这是我的代码:

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *headline;
@property (weak, nonatomic) IBOutlet UITextView *body;

@end

@implementation ViewController

- (void)viewDidLoad 
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.


- (IBAction)changeBodySelectionColourToMatchBackgroundOfButton:(UIButton *)sender 
    [self.body.textStorage addAttribute:NSForegroundColorAttributeName
                                  value:sender.backgroundColor
                                  range:self.body.selectedRange];



- (IBAction)outlineBodySelection

    [self.body.textStorage addAttributes:@ NSStrokeWidthAttributeName : @-3,
                                            NSStrokeColorAttributeName : [UIColor blackColor] range:self.body.selectedRange];


- (IBAction)unoutlineBodySelection

    [self.body.textStorage removeAttribute:NSStrokeWidthAttributeName range:self.body.selectedRange];

@end

我想最后两个类出现错误,但是哪里出错了,我该如何解决? 请有人帮助我。

【问题讨论】:

能否显示一键换字的代码 连接到ibaction的outlineBodySelection检查 启用exception brakepoint 并尝试让您的应用崩溃。 【参考方案1】:

尝试为您的按钮制作一个插座,并将此代码添加到您的按钮viewDidLoad

[mybutton addTarget:self action:@selector(outlineBodySelection) forControlEvents:UIControlEventTouchUpInside];

【讨论】:

【参考方案2】:

我猜你这边一切正常,但让我们检查一下从插座连接是否来自故事板或 XIB。

可能是一些连接丢失或错误连接,其中提到了!标记

你身边的其他完美者

​​>

【讨论】:

我检查了我的连接检查器。我的 outlineBodySelection 与 Outline Touch Up Inside 断开连接。我是 x-code 的新手。非常感谢您的宝贵时间,这真的很有帮助。【参考方案3】:

如果您将按钮连接到不再存在(或已重命名)的 IBAction,也会发生这种情况。检查一次您的连接。

【讨论】:

【参考方案4】:

IBAction 方法具有以下格式

-(IBAction)name:(id)sender

【讨论】:

嗯,我明白,但我正在学习斯坦福 ios7 CS193P 课程,它没有添加发件人,我不寻找按钮来确定如何做。 您暗示这是强制性的,您应该详细说明一个更好的答案,特别是因为 OP 刚刚说他们正在学习。知识是免费的,可以免费给予,也可以免费获得。解释发件人实际上做了什么

以上是关于iOS---导致无法识别的选择器发送到实例 0x7f803a59cc50 的按钮的主要内容,如果未能解决你的问题,请参考以下文章

iOS---导致无法识别的选择器发送到实例 0x7f803a59cc50 的按钮

ios 7无法识别的选择器发送到实例

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

适用于 iOS 的 FBSDK:“发送到实例的无法识别的选择器”

IOS 7无法识别的选择器发送到带有按钮的实例问题

ios [__NSCFNumber 长度]:发送到实例的无法识别的选择器