iOS开发,从网络中成功获取到数据源,却在UITableView中不显示,求解

网络获取的数据:
图片说明
代码:
#import "SecondViewController.h"

@interface SecondViewController ()

@property NSMutableData *mutableData;
@property NSString *string;
@property NSMutableArray *courses;

@end

@implementation SecondViewController

  • (void)viewDidLoad { NSString path = @"http://***************************"; NSURL *url = [NSURL URLWithString:path]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self]; [connection start]; [super viewDidLoad]; self.classBarItem.badgeValue = nil;

}

  • (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

  • (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
    NSLog(@"%@", response);
    }

  • (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    if(_mutableData == nil){
    _mutableData = [[NSMutableData alloc]init];
    }
    [_mutableData appendData:data];
    }

  • (void)connectionDidFinishLoading:(NSURLConnection *)connection{
    _string = [[NSString alloc]initWithBytes:[_mutableData bytes] length:[_mutableData length] encoding:NSUTF8StringEncoding];
    NSJSONSerialization *json_courses = [NSJSONSerialization JSONObjectWithData:_mutableData options:0 error:nil];
    NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:_mutableData options:0 error:nil];
    _courses = [[NSMutableArray alloc] init];
    for(int i = 0; i < [json count]; i++){
    NSString *tag = @"course";
    NSString *str_i = [[NSString alloc]initWithFormat:@"%i",i];
    tag = [tag stringByAppendingString:str_i];
    NSJSONSerialization *json_course = [json_courses valueForKey:tag];
    NSString *name = [json_course valueForKey:@"courseName"];
    NSLog(@"%@",name);
    [_courses addObject:name];
    }
    NSLog(@"%@",_courses);
    //获取NSMuTableArray中第n个元素的值
    //NSLog(@"%@", [_courses objectAtIndex:1]);
    _mutableData = nil;
    }

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

  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    NSLog(@"Array count is %i",[_courses count]);
    return [_courses count];
    }

    • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"courses" forIndexPath:indexPath];
      cell.textLabel.text = [_courses objectAtIndex:[indexPath row]];
      // Configure the cell...

      return cell;
      }

/*
// Override to support conditional editing of the table view.

  • (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } */

/*
// Override to support editing the table view.

  • (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view } } */

/*
// Override to support rearranging the table view.

  • (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */

/*
// Override to support conditional rearranging of the table view.

  • (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be re-orderable. return YES; } */

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation

  • (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */

@end

0

2个回答

个人分析是:该类先创建了tableview然后才获取网络数据源,可是不知道怎么解决

0

问题已经自行解决,原因如下:
由于获取网络数据并不在主线程中进行,所以程序会先执行后面的代码,最终导致程序虽然获得了数据源,却没有在tableview中显示出来。
此时只需要在connectionDidFinishLoading方法的末尾增加一句“[self.tableView reloadData];”来重载数据即可!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
UITableView实现类似QQ好友的折叠功能
/* 1.定制导航栏2.创建数据元a .分配内存和初始化b.创建三个段数组section1,section2,section3c.加入数据源数组中dataArray3.写两个dataSource的协议方法:设置行,宽和设置cell中内容4.在设置段头的方法中把按钮加入段头,记得设置段头的高度5.UITableViewCell *cell = [tableView dequ...
从网络上获取到文件 并解析到listview中
String str = "https://www.toutiao.com/api/pc/focus/"; private ListView lv; private bean.DataBean data; private List list; private hodler h; //text文本的handle Handler handler = new Handler() { @Ove
格式化从sql中获取到的时间
String te = detailCursor.getString(detailCursor.getColumnIndex("orderTime")); //获取sql中的时间字段 //格式化这个时间字段 long time = Long.parseLong(te); SimpleDateFormat format = new SimpleDateFormat("HH:mm");
从UndeclaredThrowableException中获取到需要的异常信息
在接口B中调用了接口A中的方法,由于数据库数据的问题导致空指针异常,而发生异常的地方并未在接口A中try catch块中. 此时在接口B中写常规的try catch语句: try{ ...... }catch(e:Exception){ log.message = e.message } 运行代码后查看记录发现log中并没有记录错误信息message 于是打断点去查看catch到的异常,发现是...
Echarts——从获取到显示、数组转换
//php后台查询数据库代码 $Recordss = DB::select("select topten,sum(checked) as count from tbl_records where checked = 1 group by topten"); dd($Recordss ); 查询结果显示: 结果集转换数组,传到前台页面接收: //php代码 $top...
泛型中获取到Class
在公共基础类中:public class CommonDaoImpl<T> extends HibernateDaoSupport implements ICommonDao<T> { //泛型转换 private Class entity = (Class)GenericSuperClass.getClass(this.getClass());在公共基础类的方法中:public Li
iOS开发之UITableView添加数据源的两种方式
iOS开发中使用UITableView,要为其添加数据源,下面介绍两种添加数据源的方式 一:使用代码为其添加数据源; //1.设置数据源     self.tableView.dataSource = self;//控制器本身就是数据源 为什么要把viewController当成数据源: 数据源只需要加载一次,因为tableView是添加到控制器的View
在UITableView中显示数据
NSArray中有如下数据。使用`AFHTTPRequestOperation`来获取结果,然后执行 `[ListOfName addObject:[responseData valueForKey:name]];`,想要下面的结果显示在tableView中,但是不知道怎么实现?rnrn (rn (rn "Richard Conover",rn "Richard Conover",rn "Kaitlyn Matheson",rn "Andrea Wannemaker",rn "Andrea Wannemaker",rn test,rn james,rn test,rn gaurav,rn sdfsdfsrn )rn )rnrn如果用`NSArray.count`返回。如何在tableView中分开打印?
如何将数据库中获取到的数据动态的在JSP中显示
一个a.jsp。后台使用request传过来一个map集合的数据,jsp中进行接收,而这些数据是放在每个 标签下的,但是又要动态的获取这些数据,也就是不能在每个 中一个一个的进行获取,弄了半天没搞出来,求帮忙看下,谢谢各位。
UITableView分割线不显示
查了很多资料都不能用,最后发现是在cell的layoutSubviews方法中忘了继承父类 修改前:分割线不显示 - (void)layoutSubviews { ATViewRadius(self.headImg, self.headImg.width/2); } 修改后:分割线正常显示 - (void)layoutSubviews { [super layoutSu...
求解怎么在 static 类中获取到当前页面的控件
比如我前台页面上有一个控件rnrnrnrn而我后台 类中某个 静态类中要获取到这个控件 然后操作他。rn求解 怎么获取前台的Panel
Myeclipse的egit安装成功却在team中没有显示git
问题描述 明明安装好了egit,可是却在team目录中找不到git插件。 解决方法如下 1、打开您的myeclipse目录 ,找到 readme 目录下 readme_eclipse.html  2、找到html中的 eclipse 版本号。 Eclipse Project Release Notes Release 3.7.0 Last revised May 16, 2011
iOS开发中使用UITableView提高用户体验
博客地址:https://www.jianshu.com/p/fe34e9178835 发现csdn上不能上传动态图,就把博客放在简书上了。
iOS开发UITableView中ImageView图片的延迟加载思路
先说我们做这个是能解决啥问题  能干啥 有时候,我们会遇到这种情况: 当界面中含有UITableView,而且每个UITableViewCell里边都有图片。这时候当我们滚动UITableView的时候,如果有一堆的图片需要显示,那么可能会出现卡顿的现象。 两种思路 第一种  用UIScrollView的代理方法实现 第二种  用RunLoop在UIScrollView滑动时
iOS开发-简述UITableView中cell的重用问题
开发中当我们在使用UITableView的时候不可避免的就要碰到cell的重用问题,这里分几种情况: 1.使用xib来做cell,这种情况下cell的重用问题就不会被凸显出来了,只要使用得当,位置算好,是不会出现控件重复的问题的,是一种好的解决重用的方法。 2.使用纯代码布局,在cell的代理中把每一个控件通过add的方式加到cell.contentView上,这时如果不做些处理,当滚动tabl
IOS开发-从网络获取图片并显示
从网络获取图片并显示:let url:NSURL = NSURL(string: "http://obs8l45rh.bkt.clouddn.com/ad_0.jpg")! let data:NSData = NSData(contentsOfURL:url)! let img:UIImage = UIImage(data: data, scale: 1.0)! let imgView:UIImag
iOS开发中Button不显示问题
来看下出现问题的常见代码 UIButton *btn = [[UIButton alloc] initWithFrame:CGRect(30, 100, 100, 50)]; btn.titleLabel.text = @"test"; btn.titleLabel.textColor = [UIColor blackColor]; [self.view addSubview:btn]; 新手一般会
如何从声卡的输入音频中获取到电话号码
看到一个软件,它能实现从声卡的MIC输入中获得来电号码,就是把电话线连接到一个简单的电路中,然后把电话线的信号接到声卡MIC输入口中,如果有来电,电脑界面就会弹出一个窗口,上面能显示出来电号码。rn我想知道如果C++builder的话如何才能实现获得电话号码?
如何从一个COleSafeArray变量中获取到存储的对象
COleSafeArray OffsetResult;rnh = pLwPolyline->Offset(0.5,&OffsetResult);rnIAcadLWPolyline *pLineOfRsu = NULL;rnOffsetResult.AccessData((LPVOID*)&pLineOfRsu);rnh = pLineOfRsu[0].put_color(acRed);//运行时这一句执行报某内存地址出错,pLineOfRsu[0]有值rnrnpLwPolyline:是CAD COM接口细线对象;OffsetResult:COleSafeArray对象,记录了偏移产生的细线。问题就是:如何正确从OffsetResult中取出存储的IAcadLWPolyline对象?上面的代码错在哪里呢?
如何从cookie中获取到接口中的数据
//公共方法 function getCookie(cname) { //读取cookies var name = cname + &quot;=&quot;; var ca = document.cookie.split(';'); for (var i = 0; i &amp;lt; ca.length; i++) { var c = ca[i]; ...
如何从JDBC的statement中获取到执行的sql语句
如何从JDBC的statement中获取到执行的sql语句??rnrn public String getSql(Statement stmt)rn .....rn return stmt中的sql语句;rn
怎么从一个url 中获取到返回的json数据
本人小白一个,现在问题是要从一个网址中接收到返回的json格式的数据,然后把拿到的数据来进一步处理,问题是怎么在浏览器端获取这个url返回的json数据?顺便把这个url附上http://120.25.242.205:8888/ 试过利用ajax获取,但一直没成功,,,
使用Jsoup解析从网络上获取到的html源码
首先贴上地址: http://www.17g.com/guild 如何查看一个网页的html源代码:右击鼠标——查看源代码,在要解析的时候点击审查元素,就可以看到html结构,方便解析。如下图 此时鼠标点击到的源码  会在相应的网页上变成蓝色,现在就可以根据自己的需求解析了 package com.example.logintest; import java.io.
求助.如何从.aspx的页面中获取到字符串..
我跟老师做的虚拟环境..服务器端有个.aspx里面有Response.Write(Session("usersn"))这个字段..rn我需要在客户端将Session("usersn")的值取到一个变量中并用于区分..请问如何完成?谢谢了..在下新手- -
knockoutjs从多个数据源获取到的数据合并到一个javascript的viewmodel中使用
使用场景是这样的。在页面某部分自试题库中随机读取了数十道题。试题的序号是在页面中自动生成的。当点击某个试题序号的时候,我需要自试题库中读取这个试题标题,选项,答案等信息,也需要这个标题的序号传到knockout同一个viewmodel中。刚开始序号打算是用javascript的cookie来获取的。可是还要找一个cookie插件,觉得麻烦。我印象中在knockout的说明中有多个源合并到一个vie
gridview中显示bll层获取到的外键关联数据
[img=https://img-bbs.csdn.net/upload/201505/06/1430889024_33909.png][/img]这个是具体问题的图片rn下面发一部分前台的代码rn[code=html]rnrn rn rn <%#CgAddressBLL.GetAddressName(Convert.ToInt32(Eval("AddressID").ToString()))%>rn rn rn rn rn rn rn rn rn[/code]rn后台绑定代码rn[code=csharp]rnpublic void YyInBind()rn rn DataSet ds = Yyinfobll.GridDataSelect();rn YyInfo.DataSource = ds;rn YyInfo.DataKeyNames = new string[] "ID" ;rn YyInfo.DataBind();rn rn[/code]rn后台DAL查询代码rn[code=csharp]rnpublic DataSet GetAddress(int AddressID)rn rn string sqlstring = ("SELECT AddressName FROM CgAddress WHERE AddressID=@AddressID");rn SqlParameter[] sqlparmeter =rn rn new SqlParameter("@AddressID",SqlDbType.Int)rn ;rn Model.CgAddress model = new Model.CgAddress();rn sqlparmeter[0].Value = AddressID;rn return SQLHelper.ExecuteDataSet(sqlstring, sqlparmeter);rn rn[/code]rnBLL代码rn[code=csharp]rnpublic DataSet GetAddressName(int AddressID)rn rn return Addressdal.GetAddress(AddressID);rn rn[/code]rn问题描述rn查询出来绑定到相应的位置上显示为system.data.dataset,具体怎么解决忘记了,好久没有用这个了,求指点
控件安装好,却在代码中不显示的问题
公司让我调试一个产品的代码,用到了RXLIB控件,当然还有很多其他的控件,我把控件基本全部安装好了,可是在代码的窗口就是不显示TsuiMainMenu组件;rnMainMenu: TsuiMainMenu;这个是这个组件的声明,它下面还包含了N多的TMenuItem,现在全显示不出来,包括这个TsuiMainMenu。rn这里显示不出来的意思是:并不是运行后看不见,而是当我们往窗口上添加了一个TsuiMainMenu组件后不是应该能看到一个代表它的小方块么?是这个东西都看不到。左边的Object TreeView里也没有TsuiMainMenu组件的显示,请指点这是为什么??感觉我把情况说的比较清晰了吧??期待高手~~rn另外,代码是现成的,是要我把控件添加进去,让程序能够运行,再让我修改代码,属于对我的考试,请大家帮忙告诉我以上形容的问题怎么解决,谢谢~~~~
***在中间层如何把获取到的数据显示在中间层的DBGrid中?
各位大虾帮帮忙啊,我用DCOMconnection来连接,想在中间层获取数据并显示出来,ADOConnection与ADOQuery,Datasetprovider均放在远程数据模块中.请问,DBGrid显示不出数据呀?(若那些组件放在窗体上则可以显示)
动态获取到表格中的数据
在页面上使用了display:table、display:column标签动态显示信息列表时,如果需要动态的获取到某行某列的数据时 可以使用一下代码document.getElementById(&quot;aList&quot;).rows[1].cells[0] aList是页面table的id,虽然代码中使用了display:table,可是在页面上看源码时却是table,rows[n]就代表第n行,c...
如何获取到表格中文字的字体?
我在一个网页上提交请求,把另一个页面中的表格字体改变,然后使用无刷新技术实时更新数据,但更新后字体变成了默认字体,请问如何在下面的代码中获取到原来表格中的字体,并把它赋给“18px”处rn cell2.innerHTML ="" + num1+ "," + num2+ "," +num3+ "," + num4+ "," + num5+ "," + num6+ "," + num7+ "," + num8+"";rn
如何获取到注册表中某个信息
我现在需要到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform]中获取值,比如在此中有个“字符串值”的QQ,值为2010,怎么获取到QQ=2010呢?
如何获取到cmd.exe中的消息?
请问如何获取到cmd.exe中的消息?比如点击鼠标右键弹出菜单的消息,我用spy++无法获取到cmd窗口,请高手帮忙谢谢
Griview中怎么获取到CheckBox控件?
Griview中怎么获取到CheckBox控件?
java中for循环得数据如何获取到
请问,我应该改成怎么样才可以获取把下面得FOR循环数据全部取出来rn现在只能获取到最后一条数据rnrn![图片说明](https://img-ask.csdn.net/upload/201905/16/1557936963_872774.png)rn
如何获取到邮件中的Content-ID(jmail4.3)
我的一封邮件htmlbody中有张图片,当邮件发送的时候我自动将其src属性改为jmail附件的cid了。现在是如何正确解释邮件中的图片内容。假如我用程序指定解释附件中的第某个附件的话是可以显示出图片的。但最好能检测img标志的src属性,根据其cid,然后用另外的程序获取出附件集合中的对应cid的单一附件。rnrnrnrn===附加邮件部分内容===rnThis is a multipart message in MIME format.rn----NEXT_BM_85F5D53AEA9E46BDB18AC0FD79F73CDArnContent-Type: text/html;rn charset=3D"gb2312"rnContent-Transfer-Encoding: Quoted-Printablernrntt
怎么在VSTO中,获取到文档结构图
录制宏的方法找不到相关代码
离奇的获取到在SQL中查询到的最大值?
代码如下,作用是查询当日售票张数并对其加1,使之生成新的小票ID,当未查询到值或数据库无记录时结果便为1523752358(我估计这可能是SQL中整型字段为空引起的,我的quantity字段为整型);已查询到时一切正常,郁闷……为什么?rnCTime t=CTime::GetCurrentTime();rnCString m_txtID=t.Format("%Y%m%d%H%M");rnCString m_NO;rnrn//CString strSQL="SELECT saletxtid=MAX(saletxtid) FROM saletxt WHERE saledate='";rnCString strSQL="SELECT quantity=MAX(quantity) FROM inrecord WHERE indate='";rnCString m_curdate;rnm_curdate.Format("%4d-%02d-%02d",t.GetYear(),t.GetMonth(),t.GetDay());rnstrSQL+=m_curdate;rnstrSQL+="'";rntryrnrn theApp.m_pRecordset->Open((_bstr_t)strSQL,rn theApp.m_pConn.GetInterfacePtr(),rn adOpenDynamic,adLockPessimistic,adCmdText);rn if(!(theApp.m_pRecordset->adoEOF))rn //m_NO.Format("%02d",theApp.m_pRecordset->GetCollect((_bstr_t)"saletxtid").intVal+1);rn m_NO.Format("%02d",theApp.m_pRecordset->GetCollect((_bstr_t)"quantity").intVal+1);rn elsern m_NO="01";rnrncatch(_com_error e)rnrn CString strComError;rn strComError.Format("查询记录失败!\r\n错误编号: %08lx\n错误信息: %s\n错误源: %s\n错误描述: %s",rn e.Error(), // 错误编号rn e.ErrorMessage(), // 错误信息rn (LPCSTR) e.Source(), // 错误源rn (LPCSTR) e.Description()); // 错误描述 rn ::MessageBox(NULL,strComError,"错误",MB_ICONEXCLAMATION);rnrntheApp.m_pRecordset->Close();
GEF 编辑器中如何获取到图元
可以使用getGraphicalViewer().getRootEditPart().getChildren()方法
C#怎么获取到exe中的参数?
别的程序调用我的exe程序(C#编的),在调用的时候会给我传一个参数,我怎么能在程序运行之前先获取到这个参数?rnrn比如说别的程序这样调用我的exe程序:Process.Start("c:\\windows\\system32\\XXX.exe", "-s -t "); rn我的程序初始化的时候需要获取到后面的参数。
Thread中怎么获取到 session
我有一个类,extends了Thread类, 在整个类中,我想获取到session,但是却得不到rnrnrn请问是为什么?rnrn有什么解决办法?rnrnrn
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo