Ich habe BaseClass, die UIViewController-Klasse und untergeordnete Ansicht Klassen ist. In BaseClass habe ich die BOOL-Variable isRegistrationScreenVisible, um die Menüschaltfläche ein- oder auszublenden. Wenn ich vom Login zum Registrierungsbildschirm gehe, möchte ich isRegistrationScreenVisible = YES setzen; aber es wird nicht eingestellt. Hier meine Klassen:Setzen Sie BOOL-Variable von Kind-Klasse zu Eltern in Objective C
BaseView.h
@interface BaseView : UIViewController
@property(assign, nonatomic) BOOL isRegistrationScreenVisible;
@end
ChildView.h
#import "BaseView.h"
@interface LoginViewController : BaseView
@end
ChildView.m
- (IBAction)showRegistration:(id)sender {
[super isRegistrationScreenVisible:YES];
NSLog([super isRegistrationScreenVisible][email protected]"SET REG SCREEN":@"WE ARE NO");
}
Shows in Protokollen, die Variablen auf YES gesetzt ist, aber wenn Es ist eine weitere Variable zu wechseln, ist NO
Ist das reale Code? Sie definieren 'BaseViewController', erben aber von' BaseView' ... und wer kennt die Dateinamen. –
wollte es für Fragen einfach machen. Bearbeitete die Frage. Danke für das Zeigen. –
Nach den Änderungen versuchen Sie '[super setIsRegistrationScreenVisible: YES];'. –