如何重新加载 UiViewController 内的 UItableView
我在 UiViewController 中有一个 UITableView 。 在同一屏幕中,我还有两个按钮:“显示全部”与“显示前 5 项”。
现在,基于选择全部/前 5 项,我必须更新表数据。
我无法使用 [tableView reloadData],因为我没有使用 UITableViewController。
这是我第一次开发 iPhone 应用程序。因此,我们将不胜感激任何帮助。
(我使用本教程开始 http:// www.icodeblog.com/2009/05/24/custom-uitableviewcell-using-interface-builder/)
谢谢。
这是我的代码片段:
.h 文件
@interface DataViewController : UIViewController {
NSString *showType;
}
@property (nonatomic, retain) NSString *showType;
-(IBAction) showTop: (id) sender;
-(IBAction) showAll: (id) sender;
@end
.m 文件
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellID = @"customCell";
DataCustomCell *cell = (DataCustomCell *) [tableView dequeueReusableCellWithIdentifier:cellID];
if([showType isEqualToString:@"all"])
{
// use this data..
}
else
{
// use some other data..
}
// ....
}
-(IBAction) showNearby: (id) sender
{
self.showType=@"top";
// reload table some way
}
-(IBAction) showAll: (id) sender
{
self.showType=@"all";
//reload table some way
}
I have a UITableView inside UiViewController.
In the same screen, I also have two buttons: Show All vs Show Top 5.
Now based on a selection all/top 5, I have to update table data.
I cant use [tableView reloadData] as I am not using UITableViewController.
This is the first time I am working on an iphone app. So any help is appreciated.
(I used this tutorial to get started http://www.icodeblog.com/2009/05/24/custom-uitableviewcell-using-interface-builder/)
Thanks.
Here is a snippet of my code:
.h file
@interface DataViewController : UIViewController {
NSString *showType;
}
@property (nonatomic, retain) NSString *showType;
-(IBAction) showTop: (id) sender;
-(IBAction) showAll: (id) sender;
@end
.m file
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellID = @"customCell";
DataCustomCell *cell = (DataCustomCell *) [tableView dequeueReusableCellWithIdentifier:cellID];
if([showType isEqualToString:@"all"])
{
// use this data..
}
else
{
// use some other data..
}
// ....
}
-(IBAction) showNearby: (id) sender
{
self.showType=@"top";
// reload table some way
}
-(IBAction) showAll: (id) sender
{
self.showType=@"all";
//reload table some way
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
创建一个像这样的 UITableView IBOutlet
在 UIViewController 的界面文件中 。然后将其连接到 Interface Builder 中的 UITableView。在实现文件中综合它之后,您应该能够像这样访问它
[self.myTableView reloadData];
另外,由于您保留了它,您将必须在
dealloc 中释放 myTableView方法。
Create a UITableView IBOutlet like this
in your UIViewController's interface file. Then have that connect to the UITableView in Interface Builder. After synthesizing it in your implementation file, you should be able to access it like this
[self.myTableView reloadData];
Also, since you retained it, you will have to release myTableView in the
dealloc
method.