Gra*_*t J 2 iphone uiviewcontroller ios
我有一个视图控制器的视图,当我在屏幕上显示这个视图时,我希望能够从调用类传递变量,以便我可以设置标签的值等.
首先,我只是尝试为其中一个标签创建一个属性,并从调用类中调用它.例如:
SetTeamsViewController *vc = [[SetTeamsViewController alloc] init];
vc.myLabel.text = self.teamCount;
[self presentModalViewController:vc animated:YES];
[vc release];
但是,这不起作用.所以我尝试创建一个便利初始化器.
SetTeamsViewController *vc = [[SetTeamsViewController alloc] initWithTeamCount:self.teamCount];
然后在SetTeamsViewController我有
- (id)initWithTeamCount:(int)teamCount {
    self = [super initWithNibName:nil bundle:nil];
    if (self) {
        // Custom initialization
        self.teamCountLabel.text = [NSString stringWithFormat:@"%d",teamCount];
    }
    return self;
}
但是,这也不起作用.它只是加载我在nib文件中给出标签的任何值.我用NSLog()s 代码乱码,它传递的是正确的变量值,它只是没有设置标签.
任何帮助将不胜感激.
编辑:我刚刚尝试在我的指定初始化程序中设置一个实例变量,然后在viewDidLoad中设置标签,这是有效的!这是最好的方法吗?
此外,当关闭此模态视图控制器时,我也会在调用ViewController的视图中更新按钮的文本.但是,如果我再次按下此按钮(再次显示模态视图),而另一个视图在屏幕上显示动画,则该按钮暂时再次显示其原始值(来自笔尖).有人知道为什么吗?
我不是专业人士,但这可能对你有帮助.
在标题中view1.h,声明所需的属性:
// view1.h
@interface view1 : UIViewController {
    NSString *passingVariable;
}
@property (nonatomic, strong) NSString *passingVariable;
@end
然后在执行中view1,合成变量:
// view1.m
@implementation view1
@synthesize passingVariable;
// the rest of the implementation
@end
最后,在其他视图控制器的实现中,view2:
// view2.m
#import "view1.h"
@implementation view2
-(IBAction)changeview
{
    view1 *myview = [[view1 alloc] init];
    myview.passingVariable = @"Hello Variable";
    [self.navigationController pushViewController:myview animated:YES];
}
@end
在这里我试图从view2视图1 移动并初始化passVariable ivar view1.希望这会帮助你.
| 归档时间: | 
 | 
| 查看次数: | 11466 次 | 
| 最近记录: |