нераспознанный селектор отправлен на экземпляр obj c - PullRequest
0 голосов
/ 18 февраля 2020

2020-02-17 23: 12: 31.949254 + 0100 LoyaltyCardsApp [64133: 7104122] *** Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [OTPViewController OTPPinInserted: pin:]: нераспознанный селектор отправлен экземпляр 0x7fd00a127730 '

    @protocol OTPViewControllerDelegate
- (void) OTPAbortedByUser;
- (void) OTPPinInserted: (NSString *) pan pin: (NSString *) pin;


@end

@interface OTPViewController : UIViewController<KeyboardDelegate>

@property (nonatomic, strong) id delegate;

@property (nonatomic, weak) IBOutlet UIButton *confirmButton;
@property (weak, nonatomic) IBOutlet InputTextView *insertOTP;
@property (nonatomic, strong) NSString* stringInserted;
@property (weak, nonatomic) IBOutlet CopyableTextView *result;

@property (nonatomic, weak) IBOutlet NSLayoutConstraint *marginTop;

- (IBAction) clickOnDoneButton:(id)sender;
@end


- (void) pinInserted:(NSString *) pin{

    [self.delegate OTPPinInserted:self.insertOTP.input.text pin:pin];

здесь происходит сумасшествие sh:

    [self.delegate OTPPinInserted:self.insertOTP.input.text pin:pin];

другое, я не могу понять, почему в отладке я не могу go внутри if ..

if (self.delegate && [self.delegate respondsToSelector:@selector(OTPPinInserted:pin:)]){
    [self.delegate OTPPinInserted:self.insertOTP.input.text pin:pin];
}

1 Ответ

1 голос
/ 18 февраля 2020

Это потому, что вы не реализовали протокол OTPViewController в OTPViewController.

Или, более конкретно, вам необходимо реализовать этот метод:

- (void) OTPPinInserted: (NSString *) pan pin: (NSString *) pin;

( или пишите по буквам, если вы это реализовали. Если у вас есть конфликтующие объявления методов, которые обычно указывают на другую проблему проектирования.

Если вы делаете go маршрут префикса, то сделайте его строчным; -otpPinInserted:pin:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...