を使用してURLからXMLファイルを解析しています。解析した項目は、データをロードNSXMLParserする配列に追加されます。UITableView特に、イベントのタイトルとそれらのイベントが行われる日付を解析しています。これらの項目は解析され、と呼ばれる配列に追加されstoriesます。私の目標は、イベントのタイトルをTableViewの各セルのメインテキストにし、日付をサブタイトルにすることです。各イベントのタイトルをフォーマットする必要はありません(つまり、XMLファイルに「EventOne」と表示されている場合は、それが表示されます)。この方法を使用すると、これで成功します。
(titleXML内のアイテムのタイトルでありstories、TableViewがデータをロードする配列です。)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:MyIdentifier];
}
// Set up the cell
NSUInteger storyIndex = [indexPath indexAtPosition: [indexPath length] - 1];
cell.textLabel.text = [[stories objectAtIndex: storyIndex] objectForKey: @"title"];
return cell;
}
ただし、解析するすべての日付をフォーマットする必要があります。これは、で行います。が仕事をNSDateFormatter終えた後の日付のフォーマットに満足しています。NSDateFormatter使用できる日付をフォーマットする必要がない場合:
cell.detailTextLabel.text = [[stories objectAtIndex: storyIndex] objectForKey: @"isodate"];
私の目標を達成するために。NSDateFormatterがその仕事を終えたら、フォーマットされた日付の文字列値で呼び出される変数(a )NSMutableStringがcurrentDateあります。コンソールを使用すると、XML内のすべての項目に対して望ましい結果が得られることがわかります。私が使用するとき:
cell.textLabel.text = currentDate;
テーブル内のすべてのセルに、XMLファイルの最後の項目の日付が含まれることになります(正しくフォーマットされているように見えます)。私は自分のメソッドを無駄に動かしてみました。私を正しい方向に向けてもかまわない場合は、アイテムのタイトルとアイテムの日付がセルに含まれるように、変数の値をcurrentDateaのサブタイトルテキストに含める方法を知っておく必要があります。UITableView互いに対応します。