0

我在同一个视图中有 2 个 UITableView,我的问题是如何在viewDidLoad方法中用不同的数据填充它们?谢谢。

4

3 回答 3

0

所有委托和数据源协议方法总是将指针传递给它们被调用的表视图。只需执行 if 来检查每种方法中的含义。

于 2011-06-20T05:02:03.467 回答
0

您将它们填充到

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

在该函数中,您可以比较 tableView 以查看它是什么表,并为该表加载适当的数据。

//Assume the following property
@property (nonatomic, retain) NSDictionary *myData;

将此添加到代码文件

- (NSDictionary) myData
{
    if (myData == nil) //Notice I am accessing the variable, not the property accessor.
    {
        NSString *filePath=[[NSBundle mainBundle] pathForResource:@"someName" ofType:@"plist"];
        myData = [[NSDictionary dictionaryWithContentsOfFile:filePath] retain];
    }
    return myData;
}

然后当您访问 self.myData 属性时,如果它尚未打开,它将打开。

于 2011-04-21T20:39:34.117 回答
0

要回答问题的 plist 部分:

NSString *filePath=[[[NSBundle mainBundle] pathForResource:@"someName" ofType:@"plist"] retain];
NSDictionary *dict = [[NSDictionary dictionaryWithContentsOfFile:filePath] retain];

所以只需使用其中的两个,每个表一个,然后只使用两个 tableView,看起来你已经理解了。

于 2011-04-21T22:58:40.190 回答