Неопознанный селектор отправлен в странный экземпляр

Это крайне странно! Его простые вещи, поэтому я не могу понять. Ниже показан мой класс.

#import <UIKit/UIKit.h>

@interface LogInViewController : UIViewController
- (IBAction)loginButtonPressed:(id)sender;

@end

.

#import "LogInViewController.h"

@interface LogInViewController ()

@end

@implementation LogInViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


//

- (IBAction)loginButtonPressed:(id)sender
{
    NSLog(@"login Button Pressed");
}

Всякий раз, когда я нажимаю кнопку, она выдает это?!

loginButtonPressed:]: нераспознанный селектор отправлен экземпляру 0x15e3bf60 28.10.2013 11:23:24.249 Головная боль Mbl[1352:60b] * Завершение работы приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '-[__NSSetM loginButtonPressed:] : нераспознанный селектор отправлен экземпляру 0x15e3bf60' * Стек вызовов первого броска:

Я проверил, и кнопка правильно отправляет «подправить внутри на loginButtonPressed:»

Помогите!, спасибо :)

Вот как я прикрепляю контроллер представления к моему основному экрану

Импортировать

@interface ViewController : UIViewController

@property (strong) IBOutlet UIView *loginView;

.

- (void)viewDidLoad
{

    LogInViewController *logIn = [[LogInViewController alloc] initWithNibName:@"LogInViewController" bundle:nil];
    [self.loginView addSubview:logIn.view];
    [self.loginView setClipsToBounds:YES];
}

person Ryan    schedule 28.10.2013    source источник
comment
Вы используете АРК? . Взгляните на этот вопрос stackoverflow.com /вопросы/2455161/   -  person Priyatham51    schedule 28.10.2013
comment
А также прямо на свою кнопку и посмотреть, подключена ли она только к одному IBAction. Если вы изменили имена методов, возможно, они по-прежнему указывают на старое имя.   -  person Priyatham51    schedule 28.10.2013
comment
пожалуйста, покажите свой код, объявляющий объект для LogInViewController   -  person manujmv    schedule 28.10.2013
comment
Iv добавил приведенный выше код, который показывает, как я прикрепляю перо к моему uiview в моем mainviewcontroller, спасибо   -  person Ryan    schedule 28.10.2013
comment
я проверил, что кнопка определенно подключена к правильному методу :)   -  person Ryan    schedule 28.10.2013


Ответы (2)


Похоже на проблемы с памятью. Если вы используете ARC, вы должны строго ссылаться на контроллер представления. Если вы используете ручное управление памятью, вероятно, контроллер представления был перегружен. Чтобы найти проблемы, вы можете добавить в схему флаг NSZombieEnabled или использовать Инструменты с Zombie.

person Roman Kabachenko    schedule 28.10.2013
comment
Привет, я использую ARC и использовал сильную ссылку на uiview, это то, что вы имели в виду. я отредактирую сообщение выше, чтобы показать это, а также то, как я настроил главный экран. Спасибо - person Ryan; 28.10.2013
comment
@Ryan Нет, он имеет в виду строгую ссылку на представление controller, то есть на класс, который вы указали в своем вопросе. - person JeremyP; 28.10.2013

Просто предложение, но проверяли ли вы подключения к событиям кнопки в IB. Возможно, вы оставили подключение к другой ВК, в которой вы удалили метод действия. Проверьте в консоли loginButtonPressed:]: нераспознанный селектор отправлен экземпляру 0x15e3bf60, что такое 0x15e3bf60 (po 0x15e3bf60).

person vhristoskov    schedule 28.10.2013