【问题标题】:reload tableview from navigation controller从导航控制器重新加载表格视图
【发布时间】:2011-07-13 03:11:09
【问题描述】:

我是 iPhone 开发的新手。

我有一个加载表格视图的导航控制器。 tableview 的类标识是一个 tableViewController 类。

我想知道如何从导航控制器刷新表格视图。

我知道在 tableViewController 中我可以使用

[self.tableView reloadData];

对不起,如果我含糊其辞。 提前致谢。

反馈后:

这里是导航控制器

@interface slNavController : UINavigationController{

UIToolbar *toolbar;
slTableViewController *tableVC;

}
@property(nonatomic, retain) slTableViewController *tableVC;

其中slTableViewController是需要刷新的tableView的Delegate。

以及我需要刷新我使用的表格的地方

[tableVC.tableView reloadData];

这里是 slTableViewController 标头

@interface slTableViewController : UITableViewController <UITableViewDelegate,UITableViewDataSource> {

IBOutlet UITableView *slTableView;
NSMutableArray *list;
TryAppDelegate *appDelegate;
//UIToolbar *toolbar;
IBOutlet UITextField *textField;

}

但仍然无法刷新 tableview。

【问题讨论】:

  • “来自导航控制器”是什么意思?你继承 UINavigationController 了吗?
  • 我的意思是在导航控制器实现文件中
  • 所以你是navigationController的子类?
  • 对不起,子类化是什么意思?
  • 你说的是什么navigationController实现文件?这是你写的课吗?你有一个你写的类,它是一个 tableViewController 类......这个类是 UITableViewController 的一个子类,因为它继承自它。您至少需要对此有基本的了解才能处理 iPhone 开发。这里:en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)

标签: iphone objective-c xcode uitableview uinavigationcontroller


【解决方案1】:

必须有一些 viewController 是 tableView 的委托。将 reloadData 发送到该控制器,例如

[viewController.tableView reloadData];

如果您知道 viewController 在堆栈中的哪个位置,则可以通过 navController 访问它。例如,如果它恰好是rootViewController,那么你可以这样做

HomesViewController *homesController = [[[self navigationController] viewControllers] objectAtIndex:0];

【讨论】:

    【解决方案2】:

    给你的 navigationController 一个指向 tableViewController 的指针。

    在.h文件中:

    @property(nonatomic, retain) YourTableViewController *tableViewController;
    

    那么当你想重新加载数据时:

    [tableViewController.tableView reloadData];
    

    【讨论】:

    • 检查您调用 reloadData 的指针是否实际指向您的表...指针是否未设置,仍然为零?
    【解决方案3】:

    如果是基于导航的应用程序你想重新加载表格视图的数据,你必须在视图中写入会出现这样的情况

    [self.tableView reloadData];
    

    【讨论】:

      猜你喜欢
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多