3 つの異なる共有カレンダーからイベントを取得し、日付順に並べ替えて UITableView に表示するアプリを開発しています。1 つ目のカレンダーは「テレビでスポーツ番組」 2 つ目のカレンダーは「ライブ ミュージック オン ステージ」 3 つ目のカレンダーは固定イベント (毎週木曜日は「レディース ナイト」など)
セルに小さな画像を表示したいのですが、イベントに応じて画像を変更する必要があります。私が今行っている方法は、イベントの説明に画像ファイル名を書き、それを使用して画像を設定することです。
cell.imageView.image = [UIImage imageNamed:[entry valueForKeyPath:@"content.$t"]];
私がやりたいのは、カレンダー名、またはイベントタイトルの内容に従って画像を設定することでした
私は試した
NSArray *gdWho = entry[@"gd$who"];
NSString *calendar = gdWho[0][@"valueString"];
if([calendar isEqualToString:@"Live Music on Stage"])
{
cell.imageView.image = [UIImage imageNamed:@"music-notes-40x40.jpg"];
}
それは機能しますが、テーブルをスクロールするとすぐに混乱します。スクロールするとセルのインデックスパスが変化し、コードが使用できなくなるため、これは予想される結果であるとどこかで読みました。
しかし、それをどうするか。誰かが私を正しい方向に向けることができますか - ステージでライブ演奏しているアーティストの画像を配置できるようにしたいので、私の最適な解決策は[entry valueForKeyPath:@"title.$t"]
、たとえば名前「デニス」が NSString = 含まれている場合に画像を表示することです