在同一视图中填充两个UITableView

时间:2011-04-21 20:36:53

标签: iphone uitableview datasource viewdidload

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

3 个答案:

答案 0 :(得分: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属性时,如果它尚未打开,它将打开。

答案 1 :(得分:0)

回答你问题的plist部分:

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

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

答案 2 :(得分:0)

所有委托和数据源协议方法总是传递一个指向它们被调用的tablesView的指针。只需要检查每个方法中的含义。