Objective C - 将 JSON 数据从 Tableview 传递到另一个 View Controller
Posted
技术标签:
【中文标题】Objective C - 将 JSON 数据从 Tableview 传递到另一个 View Controller【英文标题】:Objective C - Passing JSON data from Tableview to another View Controller 【发布时间】:2014-10-04 13:35:55 【问题描述】:JSON 数据:
(
CustDisplayName = "John Doe";
CustID = 2;
,
CustDisplayName = "Jane Doe";
CustID = 21;
)
像联系人列表一样在 tableview 上显示数据正在工作,并且从单元格到其他视图的 segue(Push)。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
*)indexPath
[self performSegueWithIdentifier:@"pushDetailView" sender:indexPath];
现在我正在通过 prepareForSegue 传递数据
if ([[segue identifier] isEqualToString:@"pushDetailView"])
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSLog(@"%@", indexPath);
日志只显示 0,1,2,3,这不是我想要的。我不确定最好的方法是什么。
-
选择 Row get CustID 并在另一个视图的 viewDidLoad 上执行另一个请求?
选择 Row 获取该数组并将字符串传输到另一个视图?
我是ios开发的新手,希望有人能提供帮助。
【问题讨论】:
试试这个github.com/fethica/UITableViewJSON 【参考方案1】:我猜你需要的是indexPath.row
而不是indexPath
【讨论】:
这确实提供了答案,我相信上面的人想要打印所选行,可以使用'indexPath.row'而不是'indexPath'来获得 您好 Roger Fan,感谢您的提出,但 Chandan005 对此是正确的。它实际上以某种方式有所帮助。干杯伙计们。【参考方案2】:在目标 ViewController 的头文件中,定义一个名为 dict 的 NSDictionary 类型的属性。并将您的 Json 数据解析为具有 NSDictionary 对象的数组。
if ([[segue identifier] isEqualToString:@"pushDetailView"])
UIViewController *controller = segue.destinationviewcontroller;
controller.dict = [array objectAtIndex:indexPath.row].
【讨论】:
【参考方案3】:假设您的数据源是一个NSArray
,其中填充了Customer
对象。
首先,在您的详细视图控制器中创建一个 Customer 属性:
@property (nonatomic,strong) Customer customer;
然后,您必须在选择行时设置此属性。为此,请使用prepareForSegue
方法:
-(void) prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
if ([[segue identifier] isEqualToString:@"pushDetailView"])
DetailViewController*destination= segue.destinationviewcontroller;
NSIndexPath* indexPath = [tableView indexPathForCell:sender];
destination.customer = datasource[indexPath.row];
确保在调用 performSegue 时将单元格设置为发送者。 确保它是的一种方法是从情节提要创建您的转场,而不是手动执行。
您可能还想使用它来轻松解析您的 JSON:https://github.com/icanzilb/JSONModel/
【讨论】:
以上是关于Objective C - 将 JSON 数据从 Tableview 传递到另一个 View Controller的主要内容,如果未能解决你的问题,请参考以下文章
如何将包含 JSON 的 JSON NSString 从 Objective C 方法传递给 Javascript 方法
如何在 Objective C 中形成 JSON 格式的可变数组
如何将 URL 参数添加到 JSON Web 服务调用 - Objective C