在课堂上GHHaiku我BOOL有财产justComposed。
在mySecondViewControllerClass我有以下方法:
- (void)viewDidLoad
{
[super viewDidLoad];
if (!self.ghhaiku)
{
self.ghhaiku = [[GHHaiku alloc] init];
}
//Lots of other code
}
-(void)saveUserHaiku
{
//Lots of code
self.ghhaiku.justComposed=YES;
NSLog(@"%d",self.ghhaiku.justComposed);
[self.tabBarController setSelectedIndex:0]; //This switches to `myFirstViewController`
}
在myFirstViewController我有以下方法:
-(void)viewDidLoad
{
[super viewDidLoad];
if (!self.ghhaiku)
{
self.ghhaiku = [[GHHaiku alloc] init];
}
}
- (void) viewWillAppear:(BOOL)animated
{
NSLog(@"%d",self.ghhaiku.justComposed);
if (self.ghhaiku.justComposedYes==YES)
{
[super viewWillAppear:animated];
self.displayHaikuTextView.text = [[self.ghhaiku.arrayOfHaiku lastObject] valueForKey:@"quote"];
}
}
BOOLin显示1/是saveUserHaiku。但是 in中mySecondViewController的布尔值显示 0/no。viewWillAppearmyFirstViewController
我遗漏了什么?
编辑:
这就是我最终要完成的事情:
myFirstViewController中实例GHHaiku化viewDidLoad。然后它arrayOfHaiku在那个实例上创建并用 x 个俳句加载它。
saveUserHaiku中的方法mySecondViewController向该数组添加一个俳句,设置一个布尔值justComposed' toYES , and then programmatically switches view controllers back tomyFirstViewController`。
一旦我们回到 in myFirstViewController,viewWillAppear调用某个函数 if justComposedin mySecondViewControlleris YES。
两个视图控制器都是在 Interface Builder 中创建的。
第二次编辑: 如果重要,这是一个选项卡式应用程序。 saveUserHaiku更改选项卡。