非常によく似た4つのデータセットを持つ新しいアプリを作成しています。4つのUITableViewを持つ1つのUITabBarに移動するために4つのUIButtonを作成したいと思います。4セットのテーブルビューにプッシュする4つのボタンを作成したくありません。13個のUIViewを使用してアプリを作成すると、必要以上に大きくなると思います。したがって、UIButtonアクションでテーブルが受け取るデータを変更する方法を理解する必要があります。私はこのプロジェクトに積極的に取り組んでいます。どんな提案も役に立ちます。ありがとうございました。
2 に答える
1
テーブルビューのデータソースを変更するには、テーブルデリゲートのnumberOfRowsInSectionから返される内容を変更する必要があります。これを行う1つの方法は、列挙型を使用して使用するデータセットを表し、ローカル変数を使用して選択したデータセットを保存することです。
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
}
}
于 2011-03-31T17:37:14.900 に答える
0
データが類似している場合は、各ボタンのIBAction
変数からデータを設定できます。
NSArray* data = ...
次に、ボタンメソッドで:
-(IBAction*)clickedButton1:(id)sender {
data = [self getButton1Data]
[self reloadAll]
}
于 2011-03-31T17:40:50.903 に答える