Objective-C如何重新加载位于 UiViewController 的 UItableView

发布时间: 2016/9/22 4:11:29
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有 UITableView UiViewController 里面。 在同一屏幕中,我也有两个按钮︰ 显示所有 vs 显示顶部 5。

基于选定内容全、 头顶 5,现在我要更新表数据。

因为我没有使用 UITableViewController,我不能使用 [表 reloadData]。

这是我正在进行一个 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
}

解决方法 1:

创建这样的 UITableView IBOutlet

@property (nonatomic, retain) IBOutlet UITableView *myTableView;

在你 UIViewController 的接口文件。 然后有连接到 UITableView 在界面生成器中。 后合成它在执行文件中,您应该能够访问它像这样

[self.myTableView reloadData];

此外,因为你会保留它,你将不得不释放 myTableView 在 dealloc 方法。

赞助商