ios - 使用 indexpath.row 引用从 JSON 对象数组中获取对象
<p><p>尊敬的 StackOverflow 用户,</p>
<p>第一次发帖,我会尽力而为!</p>
<p>我有一个简单的 JSON 文件,看起来像这样(我不会包含所有文件,因为它太长了):</p>
<pre><code>{
"guidelines": [
{
"title": "Editorial - Doporučené postupy",
"guidelinepath": "1 - Editorial"
},
{
"title": "Preambule",
"guidelinepath": "1 - Preambule"
},
{
"title": "Zásady dispenzární péče ve fyziologickém těhotenství",
"guidelinepath": "1- Z"
},
{
"title": "Provádění screeningu poruch glukózové tolerance v graviditě",
"guidelinepath": "2"
}]
}
</code></pre>
<p>使用这些数据,我设法填充了一个 tableView(即,在命令行输出中正确解析的 JSON),为我欢呼。现在我想做的是检测已被点击的 tableView 单元格并直接指向与该标题相关的 guidelinepath JSON 对象(这将导致一个文本文件将填充一个 TextView )。我试过了许多不同的解决方案,但它们都导致(null)。</p>
<p>以下是我设法完成且没有错误的不完整代码。</p>
<pre><code>- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if () {
NSLog(@"seguehasbeenselected");
NSIndexPath *indexPath = ;
NSLog(@"%@ is the indexpath", indexPath);
}
}
</code></pre>
<p>我已尝试彻底研究该问题,并尝试通过以下答案帮助自己:
<a href="https://stackoverflow.com/questions/10457649/using-indexpath-row-to-get-an-object-from-an-array" rel="noreferrer noopener nofollow">Using indexPath.row to get an object from an array</a> </p>
<p> <a href="https://stackoverflow.com/questions/12329831/getting-json-object-and-then-assign-to-uitable-view" rel="noreferrer noopener nofollow">getting json object and then assign to uitable view</a> </p>
<p>但他们无法以某种方式真正回答我的问题。任何帮助将不胜感激!</p>
<p>如果想了解更多关于 JSON 是如何解析的信息,下面是代码:</p>
<pre><code>{
;
NSString *jsonFilePath = [ pathForResource:@"postupy" ofType:@"json"];
NSData *jsonData = ;
NSError *error = nil;
NSDictionary *dataDictionary = ;
NSLog(@"%@",dataDictionary);
self.guidelines = ;
self.guidelineFiles = ;
}
</code></pre>
<p>指南文件和指南的声明:</p>
<pre><code>#import <UIKit/UIKit.h>
@interface PostupyTableViewController : UITableViewController
@property (nonatomic, strong) NSArray *guidelines;
@property (nonatomic, strong) NSArray *guidelineFiles;
@end
</code></pre>
<p><strong>-- 最终解决方案--</strong></p>
<p>我按如下方式编辑了 prepareForSegue 方法,现在它可以完美运行:</p>
<pre><code>- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if () {
NSLog(@"seguehasbeenselected");
NSIndexPath *indexPath = ;
NSLog(@"%@ is the indexpath", indexPath);
NSDictionary *item = ;
NSString * path = ;
NSLog(@"%@ is the path",path);
PostupyDetailViewController *pdwc = (PostupyDetailViewController *)segue.destinationViewController;
pdwc.guidelineChosen = path;
}
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>从您的 json 看来, <code></code>;返回一个 NSArray。所以访问正确的项目只需使用:</p>
<pre><code>NSDictionary *item = ;
NSString *path = ;
</code></pre></p>
<p style="font-size: 20px;">关于ios - 使用 indexpath.row 引用从 JSON 对象数组中获取对象,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/20372470/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/20372470/
</a>
</p>
页:
[1]