画像といくつかの文字列を格納する辞書(NSMutableDictionary )の配列(NSMutableArray )があります。
@interface SelectViewController () {
NSMutableArray *pictureArray;
NSMutableDictionary *dict1;
UIImage *key1; // UIImage
NSString *key2; // file name
NSString *key3; // file path
NSString *key4; // description
NSString *key5; // order
}
ユーザーに行の並べ替えを許可したい。
- (BOOL)tableView:(UITableView *)tableview canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
UIImage *image = [[pictureArray objectAtIndex:indexPath.row] objectForKey:key1];
cell.imageView.image = image;
NSString *filename = [[pictureArray objectAtIndex:indexPath.row] objectForKey:key2];
cell.textLabel.text = filename;
cell.showsReorderControl = YES;
return cell;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
NSLog(@"From %i to %i",fromIndexPath.row,toIndexPath.row);
}
そのため、各テーブル行に灰色の記号が表示され、ユーザーは行を並べ替えることができます。私の質問は、テーブルに表示されているものに基づいて配列(pictureArray)をどのように並べ替えることができるかです。この配列を別のクラスにセグエ渡します。配列の出現順序はまだ変更されていません。
アドバイスありがとうございます。