2012-02-23 9 views
1

問題情報を格納するPLISTファイルがあります。一番上には配列があり、配列内には辞書があります。各辞書内には、日付が異なる「日付」という文字列があります。私は、テーブルビューで日付値を表示します。オブジェクトがどの辞書から来たかを調べる

タップされたUITableviewセルのテキスト(したがって日付文字列)を確認できますが、同じ辞書内の他の値にはどうすればアクセスできますか?日付文字列が2012年2月16日であることが分かっている場合は、どうすれば "ダウンロードURL"を入手できますか?ここに私のPLISTの写真です:

enter image description here

答えて

5

あなたがタップされたセルからindexPathを取得する必要があります。 indexPath.rowは、辞書の配列から正しい辞書を取得するために使用できるインデックス番号を与える必要があります。まだこの配列を保持していない場合は、それが管理可能なサイズの場合は、そうすることを検討してください。

NSDictionary *selectedIssue = [myArrayOfDictionaries objectAtIndex:indexPath.row]; 
NSSTring *downloadURL = [selectedIssues valueForKey:@"Download URL"]; 

個人的には、私は決して一意であるか特定の方法でフォーマットされた日付には依存しません。

+0

グレート、おかげでたくさん! –

2

TableViewControllerをそのデータで初期化し、タップされたセルのNSIndexPathを使用する前に、問題の日付で配列(課題リスト)を並べ替えることができます。その後

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES]; 
[issues sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]]; 

あなたがそのようindexPathを使用することができます:辞書はこのスニペットを使用して

は、配列をソートする

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *url = [[issues objectAtIndex:indexPath.row] valueForKey:@"download_url"]; 
} 
関連する問題