0

我想根据我的输入更改表格视图的数量,这将根据用户而改变,我需要能够在我的数据源中引用这些表格视图,因为它们应该根据表格视图保留不同的数据。我想如果我可以为每个创建的 tableviews 创建一个唯一变量,这可能会完成,但是我需要能够在我的整个班级中引用这些变量?

4

2 回答 2

2

您可以创建一个 NSMutable Array 并直接在其中添加 UITableView 。您可以使用静态引用创建全局变量存储并全局访问它。

@interface Singleton : NSObject {
  NSMutableArray *TableArray;
}
+ (Singleton *)instance;
@end

@implementation Singleton

+ (Singleton *)instance  {
    static Singleton *instance;

    @synchronized(self) {
        if(!instance) {
            instance = [[Singleton alloc] init];
        }
    }
    return instance;
}

另一种选择是在您的 appdelegate 中包含 NSMutableArray 并在您的应用程序中全局访问它。

动态创建对象不是问题。您可以创建尽可能多的 UITableview 并将它们添加到 NSMutableArray 中。

UITableview *temp = [UITableview alloc] initWithFrame : ... ];
temp.delegate = self ; 
tableArray.addObject(temp);

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

      if(tableView  = [tableArray objectAtIndex:x]{
        // do this 
       }
        else if (select appropriate table view from array ){

       }
       //do this for the rest
 }

您面临的是设计问题。对于其他替代方案,请参阅Apple Guides for Objects Communication

于 2012-06-22T03:08:09.343 回答
1

为什么不创建一个 NSMutableArray 成员变量来存储它们呢?当需要更改数据源时,将具体的tableview设置为数据源。我不确定您到底要做什么的详细信息,但是动态添加它们并更改数据源应该不是问题。

于 2012-06-22T02:31:47.193 回答