Выберите несколько элементов из таблицы - Начинающий - PullRequest
0 голосов
/ 13 сентября 2011

Мне нужно добавить TableView, и я должен иметь возможность щелкнуть несколько пунктов в этом tableview и сохранить его в NSMutable dictionary или что-то подходящее.

Я знаю, что вы должны использовать NSMutable Dictionary для этого. Но я не понимаю, как это сделать.

Может кто-нибудь указать хороший учебник или предоставить некоторые примеры кодов для меня.

Ответы [ 5 ]

0 голосов
/ 12 марта 2013

объявите строку внутри строки didselect таблицы viewview, затем укажите эту строку = [ваш заполненный массив objectAtIndex: indexpath.row]; затем добавьте это в словарь или массив nsmutable по вашему желанию.

0 голосов
/ 14 сентября 2011

Это действительно зависит от вашей модели данных. Прежде всего вам нужен NSMutableArray, а не NSMutableDictionary;

//declare an NSMutableArray in the interface
@interface Class : SuperClass {
NSMutableArray *_arrayWithMySelectedItems;
}

//in one of your init/preparation methods alloc and initialize your mutable array;

- (void)viewDidLoad {
[super viewDidLoad];

_arrayWithMySelectedItems = [NSMutableArray alloc] init];
}

//now before you forget it add release in your dealloc method

- (void)dealloc {
[_arrayWithMySelectedItems release];

[super dealloc];
}

//add this following code to your didSelect Method part of tableView's delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//if you have only one category, you will probably have something like this
[_arrayWithMySelectItems addObject:[dataModelArray objectAtIndex:indexPath.row];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
0 голосов
/ 13 сентября 2011

На посту Какао с любовью было сообщение Мэтта Галлахера о том, что вы можете найти осветительным.

Немного устаревший, но принципы будут такими же.

0 голосов
/ 13 сентября 2011

Вы можете использовать NSMutableDictionary в этом методе как:

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSMutableDictionary *dict = [NSMutableDictionary alloc] init];
    [dict setObject:[NSString stringWithFormat:"%@", cell.Label.text] forKey:[NSString stringWithFormat:"Key%d", indexPath.row]];
}
0 голосов
/ 13 сентября 2011

Для этого вам нужно будет использовать метод делегата.
Сначала убедитесь, что представление вашей таблицы настроено правильно ( делегат и источник данных ), а затем
реализовать делегатов:
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath.

Вы получаете доступ к выбранному индексу строки с помощью: [indexPath row].
И тогда вы можете сохранить это значение.

...