我正在制作一个新的应用程序,它有四组非常相似的数据。我想让四个UIButton导航到一个带有四个UITableViews的UITabBar。我不想制作四个按钮来推送四组tableview。我想用13个UIViews做一个应用程序会使它比它需要的更大。因此,我必须弄清楚如何使UIButton操作更改表接收的数据。我正积极地从事这个项目。任何的意见都将会有帮助。谢谢。
答案 0 :(得分:1)
要更改表视图数据源,您需要更改表委托上numberOfRowsInSection返回的内容。我这样做的一种方法是使用枚举来表示我想要使用的数据集,并使用局部变量来保存选择哪一个
typedef enum
{
DataSetOne,
DataSetTwo
} DataSetEnum
@property(nonatomic, retain) DataSetEnum dataset;
@property(nonatomic, retain) NSArray *datasetone;
@property(nonatomic, retain) NSArray *datasettwo;
- (void) viewDidLoad
{
dataset = DataSetOne;
}
- (IBAction) buttonPressed
{
dataset = DataSetTwo;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(dataset == DataSetOne)
{
return [self.datasetone count];
}
else if(dataset == DataSetTwo)
{
return [self.datasettwo count];
}
}
然后在cellForRowAtIndexPath
中- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(dataset == DataSetOne)
{
//configure cell
}
}
答案 1 :(得分:0)
如果您的数据相似,您只需设置每个按钮IBAction
变量的数据:
NSArray* data = ...
然后在你的按钮方法中:
-(IBAction*)clickedButton1:(id)sender {
data = [self getButton1Data]
[self reloadAll]
}