我需要添加TableView
,我应该可以点击tableview
中的多个项目并将其保存到NSMutable dictionary
或其他合适的项目。
我知道您必须使用NSMutable Dictionary
。但我不明白该怎么做。
有人可以指出一个好的教程或为我提供一些示例代码。
答案 0 :(得分:0)
你必须使用委托方法。
首先确保您的表格视图设置得很好(delegate和datasource),然后再确定
实施代表:
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
。
您可以使用[indexPath row]
访问所选行索引
然后你可以存储这个值。
答案 1 :(得分:0)
这是Matt Gallagher在Cocoa With Love关于此事的一篇文章,你可能会觉得这很有启发性。
有点过时了,但原则是一样的。
答案 2 :(得分:0)
您可以在此方法中使用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]];
}
答案 3 :(得分:0)
这实际上取决于您的数据模型。 首先,您需要一个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];
}
答案 4 :(得分:0)
在tableview的didselect行中声明一个字符串然后给出string = [你的填充数组objectAtIndex:indexpath.row];然后根据你的意愿将它添加到字典或nsmutable数组中。