2016-04-22 3 views
0

I aktualisiert Xcode 7.3. Ich beobachte, dass Xcode nicht den Fehler (Warnung) gezeigt, um die delegierte Methode zu implementieren, die gekennzeichnet sind als in benutzerdefinierte Protokollerklärung @required.Xcode 7.3 zeigt keine Fehler (Warnung) über unimplemented Delegatmethode in Protokollerklärung

Projekt baut erfolgreich ohne Required Delegatmethode zu implementieren. Allerdings gibt es "Unerkennter Selektor an Instanz gesendet" -Fehler, wenn ich versuchte, Delegate-Methode zur Laufzeit aufzurufen, ist der Fehler offensichtlich, aber ich bin neugierig, warum Xcode zeigt es nicht zur Kompilierzeit.

In älteren Version (z Xcode 6.4) Es gibt. Wenn jemand eine Idee hat, dann teilen Sie es bitte. Vielen Dank im Voraus.

Hier ist meine Protokollerklärung, CustomViewController.h

#import <UIKit/UIKit.h> 

@protocol MyCustomProtocol <NSObject> 

- exampleDelegateMethod: (NSString*) test; 

@end 

@interface CustomViewController : UIViewController 

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

@end 

Und in einer anderen Klasse höre ich Methode zu delegieren, die ich erklärt,

in .h-Datei,

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

in .m-Datei,

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

Willkommen SO :-) Können Sie zeigen uns, [a Minimal, Complete, und prüfbare Beispiel] (http://stackoverflow.com/help/asking)? – JimHawkins

+0

Bitte teilen Sie Ihren Code –

+0

Hallo @Abhi und "@Ulrich" können Sie bitte jetzt überprüfen. –

Antwort

0

habe ich den Fehler, wie zu delegieren, anstatt zuzuhören,

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

es geändert zu,

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

Das ist mein Problem gelöst. Danke für alle Bemühungen, die Zeit damit verbracht haben.