1

を使用しUITableViewて、サブクラス化されたプロトタイプセルを使用していUITextFieldます。セルは4つのセクションで合計4回使用されます。これはそのためのコードです:

...
- (void)viewDidLoad
{
[super viewDidLoad];
cellTitles = [[NSArray alloc] initWithObjects:@"Smell", @"Taste", @"Suits", @"Notes",  nil];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [cellTitles count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [cellTitles count] / [cellTitles count];
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return [cellTitles objectAtIndex:section];
}  

- (AddInfoCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"AddInfoCell";

AddInfoCell *addInfoCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (addInfoCell == nil) {
    addInfoCell = [[AddInfoCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
addInfoCell.cellTextView.delegate = self;

return addInfoCell;
}

各セルのテキストをdataSourceオブジェクトに追加します。

-(IBAction)nextButtonPressed:(id)sender {
...
[[dataSource objectAtIndex:dataSourceIndex] setObject:* forKey:@"Smellnote"];
[[dataSource objectAtIndex:dataSourceIndex] setObject:** forKey:@"Tastenote"];
//etc
…
}

*セル1からのテキスト

**セル2からのテキスト

必要なテキストにアクセスするにはどうすればよいですか?

4

1 に答える 1

1

多分あなたはそれを間違って見ています。textFieldのデリゲートをセル自体にしないのはなぜですか。つまり、Cellのクラスで、デリゲートをFile'sOwnerまたはinit...メソッドのselfに設定します。

dataSourceへの参照を作成し、辞書の@"Key"とともにdataSourceをセルに渡します。

cell.dataSource = self.dictionary;
cell.dataKey = @"Tastenote";
//in cell .m
//textFieldDelegate method...
[self.dataSource setObject:self.cellTextView.text forKey:self.dataKey];
于 2012-10-02T20:59:59.957 に答える