在主视图中我像这样调用ViewB
viewB=[[ViewB alloc] initWithNib:@"ViewB" bundle:nil]
[self.View addSubview:viewB];
在viewB中我像这样调用ViewC
viewC=[[ViewC alloc] initWithNib:@"ViewC" bundle:nil]
[self.View addSubview:viewC];
我像这样关闭ViewC以返回viewB
[self.view removeFromSuperview];
当我关闭ViewC时,我想在ViewB中运行- (void)viewDidLoad
我的意思是我想重新加载ViewB
答案 0 :(得分:1)
你永远不应该直接调用viewDidLoad。如果你需要一些被调用多次的加载功能,那么就创建一个方法并在那里进行:
-(void) reloadData;
第一次在viewDidLoad中调用它。删除ViewC时下次执行此操作。不打电话给[self.view removeFromSuperview]是个好主意;在ViewC中。向ViewB添加方法:
-(void) dismissViewC {
[viewC removeFromSuperview];
[self reloadData];
}
并从ViewC调用它。
但是,如果您正在使用视图控制器,则可以在
中重新加载数据-(void) viewWillAppear:(BOOL) animated;