码迷,mamicode.com
首页 > 移动开发 > 详细

iOS中绑定tableview后,变量值消失的问题

时间:2014-06-04 22:04:43      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:ios 内存释放 取值失败

好吧,标题就以最通俗的语句命名,估计百度收录的时候,大家查找的时候会更加的方便。

iOS新手,这个问题着实调试了好长时间!

由于上手就开始做大的项目,也没时间从基础做起,相信大多数小公司的开发者都是这种模式。因此很多问题都产生自很基础的错误。

项目使用mvc结构,在异步读取完数据后,NSArray中model的数据就丢失了,专业点就是内存释放了,只剩下内存地址了。

可能大家的情况和我不同,所以解决方法也不一定相同。

项目服务端是asp.net webservice,使用AFNetworking读取到的数据类型为xml,然后再使用GDataXMLNode读取xml中的值赋给新建的model,从而生成model的NSArray。

在建立model的时候,属性的参数值设置为

// 发布者姓名

@property(nonatomic,assign) NSString *SenderName;

注意是assign,好吧,这种建立属性的方式是copy别的代码的。

问题就出现在这里,属性设置的assign,属于地址引用,那么在调用完GDataXMLNode后,NSString就自动释放了,所以在ViewController中就读取不到值了。

只需要将assign修改为copy即可。


// 发布者姓名

@property(nonatomic,retain) NSString *SenderName;


这是一个很基础的错误,在不了解内存释放机制和属性的情况下,解决这种问题相当棘手,下面就列出来这部分的基础知识,边做边学吧!

iOS开发中@property属性介绍:http://gaoyong.diandian.com/post/2011-11-02/6444165




iOS中绑定tableview后,变量值消失的问题,布布扣,bubuko.com

iOS中绑定tableview后,变量值消失的问题

标签:ios 内存释放 取值失败

原文地址:http://blog.csdn.net/wuwo333/article/details/27181799

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!