iPhone在UITab中从其他类读取属性

时间:2010-10-28 15:13:25

标签: iphone objective-c

我是Objective-C的新手并且有一些问题。我创建了一个应用程序,其中有一个按钮切换到应用程序中的第2个选项卡,但我希望它从数据库中获取特定数据,因此我编写了代码,其中我从第一个视图传递了一个数字,该数字是我需要第二个视图

    @synthesize goTo;
-(IBAction)goToChapter:(id)sender{      
    self.goTo= (int)10 ;
    self.tabBarController.selectedViewController 
    = [self.tabBarController.viewControllers objectAtIndex:1];
}

所以在第二节课我试过这个:

- (void)viewDidLoad {
    [super viewDidLoad];
    FirstViewController *fvc=[[FirstViewController alloc] init];    
    int inx =  (int)fvc.goTo ;
    [self getPageContent:inx];
}

但我得到的是goTo假设为0而不是10。 我做错了什么,如何处理?

提前致谢:)

Emad Hegab

1 个答案:

答案 0 :(得分:1)

试试这个:

- (void)viewDidLoad {
    [super viewDidLoad];
    FirstViewController *fvc = (FirstViewController *)[self.tabBarController.viewControllers objectAtIndex:0];
    int inx = fvc.goTo;
    [self getPageContent:inx];
}

这假设您的FirstViewController处于索引0。

您正在创建FirstViewController的新实例,而不是获取对现有实例的引用。

您也不需要进行(int)演员表。

此外,viewDidLoad可能仅在您第一次转到第二个选项卡时运行。因此,当用户选中回到第一个VC并选择另一个章节时,viewDidLoad将不会执行。您可能希望改为使用viewDidAppear。