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