iphone - 如何从子类向父类中定义的变量传递值?

标签 iphone uibutton

我的主页有一个工具栏,其中包含三个按钮:主页、通知和登录。我希望仅在用户登录时显示通知按钮。这是我的代码

//Parent class

@interface Toolbar : UIViewController {
UIToolbar *toolBar;
UIButton *home;
UIButton *notification;
    UIButton *login;
BOOL signIn;

}

@property(nonatomic,assign)BOOL signIn;
@property(nonatomic,retain)UIButton *home;
@property(nonatomic,retain)UIButton *notification;
@property(nonatomic,retain)UIButton *login;
@property(nonatomic,retain)UIToolbar *toolBar;


-(IBAction)Home:(id)sender;
-(IBAction)LogIn:(id)sender;

//工具栏.m

 -(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];


if (!signIn) {
    [notification setHidden:YES];
    [login setHidden:NO];
}else {
    [notification setHidden:NO];
    [login setHidden:YES];
}

}

//子类

@interface LoginScreen:工具栏{

登录屏幕.m

-(IBAction)SignIn{
if ([emailField.text isEqualToString:@"m"] && [passwordField.text isEqualToString:@"a"]) {
    NSLog(@"loggedIN");
    signIn=YES;

    Home *home=[[Home alloc]initWithNibName:@"Home" bundle:nil];

    [self.navigationController pushViewController:home animated:YES];
    [home release];
}else {
//other condition
}

}

问题是我可以回家,但登录条件不起作用。请指导我。谢谢..

最佳答案

使用协议(protocol)(委托(delegate)机制)将值发送回父 View Controller 。

参见here一些 sample 。另外here

您可以在每个 Apple 示例应用程序中找到许多相关示例。

我还给了你一个Sample Application 。仔细检查并根据您的需要修改协议(protocol)

关于iphone - 如何从子类向父类中定义的变量传递值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9075024/

相关文章:

ios - UIButton 选定文本未显示选定状态

iphone - +initialize/+load 应该始终以 : if (self == [MyClass class]) guard? 开头

iphone - 在 iOS 上通过网站收集物理签名的方法

ios - 突出显示时如何从 UIButton 中删除 CAGradientLayer

ios - iOS UIButton 选中区域

ios - 如何在自定义类型的 UIButton 中设置 ImageView 的颜色?

ios - UIButton 背景图像在点击时不会改变

iphone - 如何在 iPhone iOS 4 上通过无线应用程序分发解决 "Cannot connect to server"消息

iphone - 在现有应用程序上构建登录

iphone - 如何使用 CAKeyframeAnimation 为 CATransform3D 制作动画?