如何在当前视图控制器中重新加载另一个uiviewcontroller的tableview
请帮我一下 我很抱歉,如果是重复的,但我没有得到要求的答案,这就是为什么我再次问。
我想在第一个视图中重新加载其他视图的表格。
非常感谢。
在第一个viewcontroller.m中,我把它放在viewDidLoad
方法中:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handle_data) name:@"reload_data" object:nil]; -(void)handle_data { [yourtableview reloaddata]; }
在第二个viewcontroller.m中:
[[NSNotificationCenter defaultCenter] postNotificationName:@"reload_data" object:self];
-
用
UITableview
为UITableview
创build属性,并retain
..(视图控制器1) -
在View Controller 2中创buildviewcontroller 1的对象。
-
现在在viewcontroller 1对象的帮助下,你可以访问它。
例如 :
在ViewController2 .m文件中:
ViewController1 *objV1 = [ViewController1 alloc]initWithNibName....]; [objV1.yourTableView reloadData];
按照以下方式进行:
假设你有2个视图控制器。
-
ViewController1
-
ViewController2
而你在ViewController2
有UITableView
对象tblTable
。
在ViewController2.h
文件中:
@property(nonatomic, retain) UITableView *tblTable;
在ViewController2.m
文件中:
@synthesize tblTable;
现在在ViewController1.m
文件中:
ViewController1 *objV1 = [ViewController1 alloc]initWithNibName....]; [objV1.tblTable reloadData];
我希望这对你有帮助。
如有任何困难,请告知我。
干杯。
我有类似的问题,我正在使用故事板这是我如何解决它。 假设你想从ViewController1中的一个函数重新加载ViewController2中的表。 请执行下列操作:
#import "ViewController2.h"
现在把这个代码放在你要重载的函数或任何button动作中
ViewController2 *ob= (ViewController2*)[self.navigationController topViewController]; [ob.viewController2Table reloadData];