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

iOS---Button causing unrecognized selector sent to instance 0x7f803a59cc50

我的视图中有 3 个按钮,一个按钮可以更改文本视图中单词的背景颜色,另一个工作 fine.One 按钮可以更改文本中单词的轮廓 view.This 出现一个错误每次我点击。

这是我的错误:

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

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

IBAction 方法的格式为

-(IBAction)name:(id)sender

我猜你这边的一切都很好,但是让我们检查一下插座的连接是来自故事板还是 XIB。

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

你身边的其他人也很完美

尝试为您的按钮制作一个出口并将此代码添加到您在 viewDidLoad

中的按钮
[mybutton addTarget:self action:@selector(outlineBodySelection) forControlEvents:UIControlEventTouchUpInside];

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