UIToolBar 有两个视图,一个带有 UITextViews 的 UIView 和一个带有 UITableView 的 UIView。
通过 UIToolBar 调用的 UITableView。UITableView 第一次加载时,它会访问数据库并获取信息。我“tab”回到 UIView w/UITextViews 选择一些数据,然后“tab”回到 UITableView,但是没有一个委托方法被调用,比如 viewDidLoad 或 initWithNibName 或任何东西,因此表中的数据是陈旧的。
所以,我找到了方法
-(void)viewWillAppear:(BOOL)animated {
被称为,但是,它无权访问 tableView,例如,
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
我确实偶然发现了这个建议:
“我似乎无法弄清楚如何使 UITableView 刷新......我确实找到了这个,这似乎与我遇到的问题相同,
我所做的是在 MyModalViewController 类中创建一个 MyTableViewController* 属性。在 presentModalView 之前,我将表视图控制器指针存储在模态视图控制器中。
现在,当我在模态视图控制器中时,我有了对表视图控制器的引用。现在只需使用这个存储的 table view 控制器来定位它的 tableView,然后 reloadData。
感觉很脏,但可以完成工作。”
如果这是答案,我不知道如何编码。
提前谢谢!
- sk
注意:我刚试过这个:
。H
UITableView *tableViewPtr;
@property (nonatomic, retain) UITableView *tableViewPtr;
.m
@synthesize tableViewPtr;
并将其存储在 -
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {:
...
self.tableViewPtr = tableView;
...
然后尝试从
-(void)viewWillAppear:(BOOL)animated {
[self.tableViewPtr reloadData];
但这似乎不起作用。