Iphone 在UITableView上重新加载数据
如何在UITableView类中重新加载 我正在使用reloadData方法,但它不起作用Iphone 在UITableView上重新加载数据,iphone,objective-c,cocoa-touch,uitableview,Iphone,Objective C,Cocoa Touch,Uitableview,如何在UITableView类中重新加载 我正在使用reloadData方法,但它不起作用 - (id)initWithCoder:(NSCoder *)coder { if (self = [super initWithCoder:coder]) { [self init]; } return self; } -(id)init { appdelegate=[[UIApplication sharedApplication]
- (id)initWithCoder:(NSCoder *)coder
{
if (self = [super initWithCoder:coder])
{
[self init];
}
return self;
}
-(id)init
{
appdelegate=[[UIApplication sharedApplication]delegate];
[appdelegate readLiteratureFromDatabase];
tbl_obj.backgroundColor=[UIColor clearColor];
tbl_obj.delegate = self;
tbl_obj.dataSource = self;
[tbl_obj reloadData];
array_content = [[NSMutableArray alloc] init];
return self;
}
这里是另一个类中的init方法调用。所以在那个时刻表是不会重新加载的
请帮忙 UIView没有重载数据方法
也许您可以显示您的代码,以便我们可以看到您正在尝试执行的操作?可能是您没有将
数据源
和委托
附加到您的XIB
或
您可以使用以下代码执行此操作:
self.tableView.delegate = self;
self.tableView.datasource = self;
您还必须按如下方式添加:
@interface <YourViewControllerName>:UIViewController <UITableViewDelegate,UITableViewDataSource>
@接口:UIViewController
编辑:
但是您应该试着理解,像UITableView这样的控件不能直接调用并设置到UIView类中
它应该是UIViewController,只有这样才能将数据添加并填充到TableView中
因此,您可以选择调用数据委托和数据源方法,以及在ViewController上重新加载数据,该ViewController用作此UIView的父视图
因此,除非你这样做,否则我担心这是不可能的
希望这对您有所帮助。从您的代码来看,您似乎真的需要阅读这篇文章 您不应该有一个名为
init
的方法,该方法不调用super,最终将实现这些功能
将docs
ivar设置为空的不可变字符串只会浪费内存。最终,您将需要将文档设置为真实的文档,等待该点进行任何分配
接下来从这里下载TableViewSuite示例
看一看这个简单的例子
请花时间研究该示例,它将帮助您理解表视图。我也有同样的问题,我只是使用viewDidLoad添加数据,最后我使用了
[super loadView]代码>并重新加载 reloadData适用于UITableView类,您希望在UIView类中重新加载什么?放置上下文代码以获得您需要的帮助您需要提供更多信息-您实际上在做什么?请发布一些代码片段。否则,没有人能够正确回答您的“问题”…重新加载数据仅在UITableView上有效。您到底想做什么?还有一点更重要的是,在调用[tableView reloadData]
方法之前必须先初始化数组。在调用reloadData之前是否初始化数组并为数组赋值?尝试初始化数组并在视图上重新加载tableView将显示方法。希望这有帮助。:)我已经习惯了看课。所以我不能使用ViewWillAppease方法。@Sam:但是请尝试理解,不能直接调用TableView之类的控件并将其设置到UIView类中。它应该是UIViewController,只有这样才能将数据添加并填充到TableView中。因此,您可以选择调用数据委托和数据源方法,以及ViewController上的reloadData
,该视图用作此UIView的父视图。因此,除非你这样做,否则我担心这是不可能的。希望这对您有所帮助。实际上,init方法也在另一个类中调用。但是,表不是重载的。实际上,您需要了解init方法是什么,何时调用它,以及为什么上面的代码被阻塞