关于使用 pushViewController: animated: 方法在下一个控制器中拿不到值的解决方法

如下代码:

// 加载一个tabbar控制器

houseMessageTabbarController *houseTabbar = [[houseMessageTabbarController alloc] init];

// 使用创建的模型传递数据

houseTabbar.messageItems = [meterMessageItems objectWithKeyValues:self.houseNameArray[indexPath.row]];

houseTabbar.testTitle = @"测试一下";

NSLog(@"创建的内存地址:%p,%p",houseTabbar,houseTabbar.messageItems);

//    // 把tabbar控制器添加到tabbar控制器里面

[self.navigationController pushViewController:houseTabbar animated:YES];

到此控制器跳转过去的时候发现,并没有正确得需要传递过去的值,经过调试发现,控制器的加载过程为 : init  , viewDidLoad , - (void)setMessageItems:(meterMessageItems *)messageItems ,然后在条转的控制器是在viewDidLoad里面拿数据出来处理的,这肯定就没有值了,所以在跳转之后,在- (void)setMessageItems:(meterMessageItems *)messageItems 这个 方法里面重新拿出需要处理的值再赋值一遍就可以了.

上一篇:poj 1265 Area(Pick定理)


下一篇:MAC下用homebrew安装及配置apache、php和mysql