在Objective C中将BOOL变量从子类设置为父类

时间:2016-03-31 17:03:12

标签: ios objective-c

我有BaseClass,它是UIViewController类和子视图类。在BaseClass中,我有BOOL变量isRegistrationScreenVisible来显示或隐藏菜单按钮。当我从登录到注册屏幕时,我想设置isRegistrationScreenVisible = YES;但它没有设定。在这里我的课程:

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]?@"SET REG SCREEN":@"WE ARE NO");
}

在日志中显示变量设置为YES,但是当它变为另一个视图时,变量仍为NO

2 个答案:

答案 0 :(得分:0)

BaseViewController中,您需要声明与您用于访问它的名称相同的属性:

@interface BaseViewController : UIViewController
    @property(assign, nonatomic) BOOL isRegistrationScreenVisible;
@end

答案 1 :(得分:0)

由于子类继承了您可以使用的属性:

 self.isRegistrationScreenVisible = YES;