Xcode 7.3 не показывает ошибку (предупреждение) о нереализованном методе делегата в объявлении протокола

Я обновил Xcode 7.3. Я заметил, что Xcode не показывает ошибку (предупреждение) для реализации метода делегата, который помечен как @required в объявлении пользовательского протокола.

Проект успешно строится без реализации обязательного метода делегата. Однако он выдает ошибку «Нераспознанный селектор отправлен в экземпляр», когда я пытался вызвать метод делегата во время выполнения, ошибка очевидна, но мне любопытно, почему Xcode перестает показывать его во время компиляции.

В более старой версии (например, Xcode 6.4) это дает. Если у кого-то есть идеи, пожалуйста, поделитесь ими. Заранее спасибо.

Вот моя декларация протокола, CustomViewController.h

#import <UIKit/UIKit.h>

@protocol MyCustomProtocol <NSObject>

- exampleDelegateMethod: (NSString*) test;

@end

@interface CustomViewController : UIViewController

@property (nonatomic, weak) id  <MyCustomProtocol> delegate;

@end

И в другом классе я слушаю метод делегата, который я объявил,

в файле .h,

#import "CustomViewController.h"
@interface AnotherViewController : UIViewController <MyCustomProtocol>

в файле .m,

        ((CustomViewController*)segue.destinationViewController).delegate = self;

person Dharmik Ghelani    schedule 22.04.2016    source источник
comment
Добро пожаловать в SO :-) Можете ли вы показать нам минимальный, полный и проверяемый пример?   -  person JimHawkins    schedule 22.04.2016
comment
пожалуйста, поделитесь своим кодом   -  person Abhinandan Pratap    schedule 22.04.2016
comment
Привет @Abhi и @Ulrich, не могли бы вы проверить сейчас.   -  person Dharmik Ghelani    schedule 22.04.2016


Ответы (1)


Я получил ошибку, вместо того, чтобы слушать делегата, например,

((CustomViewController*)segue.destinationViewController).delegate = self;

Изменил его на,

CustomViewController* subscriptionViewController = segue.destinationViewController;
CustomViewController.delegate = self;

Это решило мою проблему. Спасибо всем за усилия, которые потратили на это время.

person Dharmik Ghelani    schedule 22.04.2016