菜鸟教程小白 发表于 2022-12-13 02:44:22

iphone - ios - 如何从 UITableView 中的 JSON url 加载数据?


                                            <p><p>我是 iPhone 开发的新手,我正在尝试从 <code>UITableview</code> 中的 <code>JSON</code> Url 绑定(bind)数据,但在下面的代码中出现错误。 </p>

<pre><code>- (void)viewDidLoad
{

SBJsonParser *parser = [ init];
NSURLRequest *request = ];
NSData *response = ;
NSString *json_string = [ initWithData:response encoding:NSUTF8StringEncoding];
statuses = ;
;
for (NSDictionary *status in statuses)
{
    _altTitle = ;
    NSLog(@&#34;Title %@&#34;,_altTitle);
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
   NSLog(@&#34;%d&#34;,);
   return ;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @&#34;Cell&#34;;

UITableViewCell *cell = ;
if (cell == nil)
{
    cell = [[ initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
return cell;

//Here I&#39;m getting an error   
id obj = ;
NSString *name = ;
cell.textLabel.text =name;
return cell;
}
</code></pre>

<p>这是我的 JSON </p>

<pre><code>[
{
    &#34;Id&#34;: 1,
    &#34;Title&#34;: &#34;Tamil to English&#34;,
    &#34;AltTitle&#34;: &#34;‡Æ§|‡ÆƇÆø|‡Æ¥‡Øç| |‡ÆƇØÇ|‡Æ≤|‡ÆƇØç| |‡ÆÜ|‡Æô‡Øç|‡Æï‡Æø|‡Æ≤|‡ÆƇØç&#34;,
    &#34;Description&#34;: &#34;Learn English through Tamil&#34;,
    &#34;Code&#34;: 1,
    &#34;Version&#34;: &#34;1.0&#34;,
    &#34;SourceLanguageIndicator&#34;: &#34;‡ÆÖ&#34;,
    &#34;TargetLanguageIndicator&#34;: &#34;A&#34;,
    &#34;SourceLanguageCode&#34;: &#34;ta&#34;,
    &#34;TargetLanguageCode&#34;: &#34;en&#34;,
    &#34;Updated&#34;: &#34;2013-02-21T03:33:19.6601651+00:00&#34;
}   
]   
</code></pre>

<p>有什么想法吗?提前致谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您在同一范围内返回单元格两次,请尝试删除第一个 <code>return cell;</code>,同时您正在调用表上的 <code>reloadData</code> <code>for</code> 循环;在这种情况下,表的数据源可能仍然是空的,所以在 <code>for</code> 循环之后调用 <code>reloadData</code>。</p>

<p>编辑:
奇怪的是发生了什么,<code>objectFromString</code> <a href="http://superloopy.io/json-framework/api/3.0/interfaceSBJsonParser.html#a1ec40b986576044d58d30172b141c74c" rel="noreferrer noopener nofollow">must return</a> <code>NSArray</code> 或 <code>NSDictionary</code> 但似乎指向 <code>NSSet</code>。我还可以建议两件事:</p>

<ol>
<li><p>您似乎没有使用 ARC,因为您在 <code>UITableViewCell</code> 上调用 <code>autorelease</code>。在这种情况下,您在 <code>viewDidLoad</code> 中泄漏了 <code>parser</code> 和 <code>json_string</code>,因此 <code>release</code> 它们。</p> </li>
<li><p><strong>确保</strong>调用 <code>;</code>(您没有在代码中执行此操作)。</p></li>
</ol></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - ios - 如何从 UITableView 中的 JSON url 加载数据?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/16852504/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/16852504/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - ios - 如何从 UITableView 中的 JSON url 加载数据?