NSArray
MagicalRecord(コアデータラッパー)からのクエリの結果をに入力しました。UITableView
これらの結果を取得して、内からカスタムセルに表示する必要がありますcellForRowAtIndexPath:
が、インデックスはUITableView
選択された別のセルを参照しています。
私は2つ持っていUITableView
ます。1つには顧客のリストが含まれ、もう1つには各顧客の予定のリストが含まれます。ユーザーが顧客を選択すると、コードはその顧客のすべての予定を検索します。そのため、2番目のテーブルビューに関連するインデックスはありません)。
最初のテーブルビューにはクライアントのリストがあります。ユーザーがこれらのクライアントの1つを選択すると、2番目のテーブルビューに、その選択されたクライアントの予定のリストが表示されます。したがって、index.row
は最初のを参照しUITableView
、2番目は参照できるインデックスを持っていません。apptDataArrray
の内容をセルにダンプするだけです。
これが私のコードです:
if(tableView.tag == 2) { // appointment info
static NSString *cellIdentifier = @"apptListCell";
ApptCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(cell == nil) {
cell = [[ApptCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
// configure the cell...
AppointmentInfo *currentAppointment = [apptDataArray objectAtIndex: 0]; // go through the array <---- TODO
// Set the dateFormatter format
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; // start date/time
[timeFormatter setDateFormat:@"HH:mm:ss"]; // end time
UILabel *label = (UILabel *)[cell viewWithTag:3]; // display start date/time (NEEDS TO BE LOCALIZED!)<----- TODO????
label.text = [dateFormatter stringFromDate:currentAppointment.aStartTime];
label = (UILabel *)[cell viewWithTag:4]; // display end time
label.text = [timeFormatter stringFromDate:currentAppointment.aEndTime];
label = (UILabel *)[cell viewWithTag:5]; // display service tech name
label.text = currentAppointment.aServiceTech;
return cell;
}
私の質問は次のとおりです。下の行で、この配列に適用できるインデックスがないため、が呼び出されるたび// configure the cell
にどのように反復するのですか?apptDataArray
cellForRowAtIndexPath: