我有这个 NSDictionary:
{
Name =
(
"Lucas",
"Tom"
);
Surname =
(
"Jhon",
"Smith"
"Hop"
);
名字很简单
NSArray
和姓氏是 NSMutableArray
.好的,现在我的问题是:
从这本词典开始,我必须在
UITableView
中显示NSDictionary
的每个元素的键.例如,在这种情况下,UITableView
会有两个项目,一个电话姓名 和其他 姓氏 .当我单击 UITableView 的一个元素时,我将不得不转到另一个 Controller ,它将向我显示单击单元格的所有数据。例如,如果我单击姓氏,当我打开新 Controller 时,我必须像 一样获取它。约翰 , 史密斯 和 跳 .
首先,我尝试通过编写以下方式在所有键之前显示 UITableView:
self.KeyArray = [myDictionary allKeys];
在
cellForRowAtIndexPath
方法:cell.textLabel.text = [self.KeyArray objectAtIndex: indexPath.row];
但这是一个 错了方法,因为我将丢失与该特定 key 相关的所有信息。你知道我该怎么做吗?
最佳答案
您可以使用委托(delegate)将该 NSMutableArray 发送到另一个 Controller 。
假设您的第一个 View Controller 是“A”,它具有这些名称和姓氏键。第二个 Controller 是“B”,它将具有您要发送的数组。
现在,
1.在A Controller 中创建协议(protocol)。
2. 创建该协议(protocol)的委托(delegate)对象。
3. 在 Controller 中创建 1 个可以有参数的方法,例如:- (NSMutableArray *)
.
4. 在 B Controller 中实现该协议(protocol)。
5.在Controller B中声明你在Controller A中定义的方法
6. 借助 didSelectRowAtIndexPath 中的委托(delegate)对象调用该方法,并在该方法中传递该对象。
7. 现在您在该方法中拥有了 NSMutableArray,您可以自由使用该值。
关于ios - 使用 UITableView 将 NSDictionary 传递给另一个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46729583/