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(@"Title %@",_altTitle);
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSLog(@"%d",);
return ;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = ;
if (cell == nil)
{
cell = [[ initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
return cell;
//Here I'm getting an error
id obj = ;
NSString *name = ;
cell.textLabel.text =name;
return cell;
}
</code></pre>
<p>这是我的 JSON </p>
<pre><code>[
{
"Id": 1,
"Title": "Tamil to English",
"AltTitle": "த|மி|ழ்| |மூ|ல|ம்| |ஆ|ங்|கி|ல|ம்",
"Description": "Learn English through Tamil",
"Code": 1,
"Version": "1.0",
"SourceLanguageIndicator": "அ",
"TargetLanguageIndicator": "A",
"SourceLanguageCode": "ta",
"TargetLanguageCode": "en",
"Updated": "2013-02-21T03:33:19.6601651+00:00"
}
]
</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]