gpt4 book ai didi

objective-c - 如何在 View Controller 中获取对 UITableView 的引用?

转载 作者:行者123 更新时间:2023-11-29 11:14:50 25 4
gpt4 key购买 nike

我有一个应用程序可以显示可以购买的产品列表。列表的 View Controller 如下所示:

@interface InAppPurchaseListUIItemViewController :
UIViewController <UITableViewDelegate, UITableViewDataSource> {
IBOutlet UITableView *_inAppPurchaseListTable;
.
.
.
}
.
.
.
@end

这是显示列表的代码:

_inAppPurchaseListUIItemViewController = [[InAppPurchaseListUIItemViewController alloc]
initWithItemList: [[InAppPurchaseManager getInstance] getAuthorisedInAppPurchaseProducts]
: self
andSelector: @selector(inAppPurchaseSelected:)
];

_inAppPurchaseListCustomUIView= [[InAppPurchaseListCustomUIView alloc]
initWithFrame:CGRectMake(0, 0, inapp_purchase_table_width, inapp_purchase_table_height)];

[_inAppPurchaseListCustomUIView addSubview:_inAppPurchaseListUIItemViewController.view];
_inAppPurchaseListUIItemViewController.view.frame = _inAppPurchaseListCustomUIView.frame;

InAppPurchaseListCustomUIViewUIView 的子类,否则是一个空类。

还有一个与 View Controller 同名的.xib。 .xib 似乎只包含一个 TableView ,没有其他内容。

列表显示正常,但现在我想更改显示的项目。我有一个 NSMutableArray 支持表格。当我更改数组时,我需要让 UITableView 使用新数组重绘,但 _inAppPurchaseListTable 始终为 nil。

  • 如何获取对 UITableView 的引用以便调用 reloadData
  • 有什么办法可以摆脱 .xib 吗?我看不出一个额外的文件有什么意义,它只包含一个表格 View 。

连接检查器
enter image description here

最佳答案

我终于明白了。答案在 Table View Programming Guide for iOS 的第 43 页。 .

我需要将它添加到 View Controller :

- (void)loadView
{
tableView = [[UITableView alloc]
initWithFrame: [[UIScreen mainScreen] applicationFrame]
style: UITableViewStylePlain
];

tableView.autoresizingMask =
UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

tableView.delegate = self;
tableView.dataSource = self;
[tableView reloadData];
self.view = tableView;
[tableView release];
}

然后我删除了 View Controller 中的 .xib 和 IBOutlet。

现在我可以使用 [tableView reloadData]; 重新加载 TableView 。而且我不需要 .xib。

关于objective-c - 如何在 View Controller 中获取对 UITableView 的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9933861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com