我有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
答案 0 :(得分:0)
在BaseViewController
中,您需要声明与您用于访问它的名称相同的属性:
@interface BaseViewController : UIViewController
@property(assign, nonatomic) BOOL isRegistrationScreenVisible;
@end
答案 1 :(得分:0)
由于子类继承了您可以使用的属性:
self.isRegistrationScreenVisible = YES;