を使用してURLからXMLファイルを解析しています。解析した項目は、データをロードNSXMLParser
する配列に追加されます。UITableView
特に、イベントのタイトルとそれらのイベントが行われる日付を解析しています。これらの項目は解析され、と呼ばれる配列に追加されstories
ます。私の目標は、イベントのタイトルをTableViewの各セルのメインテキストにし、日付をサブタイトルにすることです。各イベントのタイトルをフォーマットする必要はありません(つまり、XMLファイルに「EventOne」と表示されている場合は、それが表示されます)。この方法を使用すると、これで成功します。
(title
XML内のアイテムのタイトルであり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ファイルの最後の項目の日付が含まれることになります(正しくフォーマットされているように見えます)。私は自分のメソッドを無駄に動かしてみました。私を正しい方向に向けてもかまわない場合は、アイテムのタイトルとアイテムの日付がセルに含まれるように、変数の値をcurrentDate
aのサブタイトルテキストに含める方法を知っておく必要があります。UITableView
互いに対応します。