2 bluetooth99 bluetooth99 于 2013.06.03 16:06 提问

UITableView从jsonURL加载数据

在UITableview的JSON的URL绑定数据,但是在执行过程中报错。

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
statuses = [parser objectWithString:json_string error:nil];
[self.dropdownTblView reloadData];
for (NSDictionary *status in statuses) 
{
    _altTitle = [status valueForKey:@"Title"];
    NSLog(@"Title %@",_altTitle);
}

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
   NSLog(@"%d",[statuses count]);
   return [statuses count];

}

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

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

 //Here I'm getting an error    
id obj = [statuses objectAtIndex:indexPath.row];
NSString *name = [obj valueForKey:@"Title"];
cell.textLabel.text =name;
return cell;
}

JSON内容:

[
  {
    "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"
  }    
]    

2个回答

zhanglei5415
zhanglei5415   Rxr 2013.06.03 16:28
已采纳

上面的代码在未执行到你报错的地方的时候,就返回了吧

return cell; //这一句直接就返回了.不会执行下面的代码.

 //Here I'm getting an error    
id obj = [statuses objectAtIndex:indexPath.row];
love_loveec
love_loveec   2013.06.03 17:20

在同一范围内你返回了两次cell。删除第一次t return cell。并且你在for循环之前调用reloadData 。可能会造成表中的数据源是空的。换成在for循环之后调用reloadData。

zhanglei5415
zhanglei5415 楼主的for只是用来输出title ,并非你说的当时的数据源是空。那时的数据已经被取出来了
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
UITableView 分页显示、加载更多,数据源远程数据,解析JSON,以及iOS☞Category
UITableView 分页显示、加载更多,数据源远程数据,解析JSON,以及iOS☞Category 在这篇里,我们要学习的目标: 1. 解析远程的JSON数据2. 分页显示数据3. 学习Category的使用 概述     IOS5.0开始支持JSON,所以不用第三方的解析了,主要用于这三个对象:NSDictionary、NSData、NSJSONSer
JSON的使用:获取url地址内容添加至ListView控件中
在Android开发中常常使用到ListView控件,每个Item含有不同的标题和内容,有的甚至包含图片 类似如下样式: 那么如何将不同的文字与图片加载到listview中呢,我们可以使用JSON。 ListView每一个Item项包含一个ImageView和两个TextView控件。创建一个NewBean类包含:ImageUrl,title,content 属性。
iOS中使用UITableView加载数据项
ios中用UITableView加载数据   实现步骤   1:添加数据源和数据代理模式   2:设置数据源和代理   3:实现   具体步骤如下:   1:添加数据源和数据代理模式    在oc中添加的方法如下图1位置标注     在@interface viewcontrol()后面用“  第二步:   在程序加载时设置table的数据源和数据代理模式代码如下:
关于tableview的滚动后动态加载数据
我们看到有些程序很明显是在拖动的为止之后才加载数据: 1. APP store的模式,使用下一个25项目,边上的也是scrollview的scrollbar,不象是tableview自带的,可以猜测是用了lableview(custom view)+scrollview来实现的;困难就在于动态判断行是不是在可视区域: 经过我不停地点《下面25项》后达到了300个项目在一个v
UITableView 滑动自动加载更多数据
// // ViewController.m // loadMoreTableDemo // // Created by zhangcheng on 15/11/7. // Copyright © 2013年 zhangcheng. All rights reserved. // #import "ViewController.h" @interface ViewController
关于UITableView上拉或下拉时加载数据思路
这两天上班一直看别人的代码,由于学了一个月ios才上手,对于上拉或下拉,tableView动态请求数据的实现不了解,摸索了两天,终于搞明白了。        众所周知,UITableView本身也是个UIScrollView,而UIScrollViewDelegate声明的一些协议当然也就被UITableView遵守。其中下面这个方法实现数据动态加载很重要:     -(void)scro
UITableView分段加载数据
一、实现思路 基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中。 1)取得数据 1 2 3 4 5 6 7 8 9 10 11 - (void)viewDidLoad {     [super viewDidLoad];
iOS--UITableView上下拉刷新加载更多
iOS--UITableView上下拉刷新加载更多,整体思想来源于EGOTableViewPullRefresh这个开源项目
监听uitableview 数据加载完成重新设置tableview的高度
通过tableview 的代理方法实现 //tableview 加载完成可以调用的方法--因为tableview 的cell高度不定,所以在加载完成以后重新计算高度 -(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIn
swift详解之十九--------------UITableView的基本操作(下拉刷新,新增删除,分组,检索等)
UITableView的基本操作(下拉刷新,新增删除,分组,检索等)注:本小结总结UITableview的一些基本用法UITbleView继承自UIScrollView,只能用来显示一列数据(目前就只认识到这里),纵向滑动。 一般有两种方式来实现,直接用UITableViewController , 占满整个屏幕 。不用手动实现UITableViewDataSource 和UITableView