for循环里的值添加到数组后在循环外打印数组为空
来源:互联网 发布:js获取浏览器版本号 编辑:程序博客网 时间:2024/06/06 23:19
今天做项目解析数据后,用for循环取数据字典里的值,然后赋值给早已定义好的NSMutableArray类型的数组属性gc_names。如下:
//存储分类商品名称@property (nonatomic,strong)NSMutableArray *gc_names;
下面是for循环赋值
for (NSDictionary *gc in class_lists) { NSString *goodName = (NSString *)[gc objectForKey:@"gc_name"]; NSLog(@"%@",goodName); [self.gc_names addObject:goodName]; } NSLog(@"%@",_gc_names); //测试打印
当测试打印是发现_gc_names为nil。但goodName却有值,为了这个问题我纠结了好久。最后知道了问题的所在。现在整理下,方便以后自己看,也可以帮助一下正在纠结的你。一般这种情况有2种要检查的,一看你是否为你定义的NSMutableArray属性值开辟了空间
@property (nonatomic,strong)NSMutableArray *gc_names;就是初始化没有。如果没有请初始化再试试。我是重写_gc_names的get方法。
- (NSMutableArray *)gc_names{ if (!_gc_names) { _gc_names = [NSMutableArray array]; } return _gc_names;}
第二种就是你异步获取数据,所以数据还没获取到,所以是没有值的 。
解决方法就是用GCD或其他方式创建主线程,放到主线程中试试。
0 0
- for循环里的值添加到数组后在循环外打印数组为空
- for循环遍历数组里数组的值
- 在一个循环有序的数组里查找特定值
- java如何输出数组里的字符串到控制台,需要借助for循环
- 一个For循环打印二维数组
- java一条for循环打印多维数组
- java for循环里面的数组,并打印出来
- gdb:循环打印数组
- 循环数组打印
- 顺时针数组循环打印
- Java循环打印数组
- [循环打印]数组套数组
- 使用一个for循环打印二维数组和三维数组
- for循环输出数据到数组中
- 在for循环中使用数组
- for循环与数组
- for 循环遍历数组
- delphi 数组 for循环
- TF-IDF提取关键词
- 微信群发接口发送视频获取media_id返回null
- ganglia与nagios组合使用
- angularjs学习记录--tab选项卡效果
- 深入理解Java:内省(Introspector)
- for循环里的值添加到数组后在循环外打印数组为空
- shell 字符串操作
- 当前线程查看
- tomcat配置
- NAT原理与NAT穿越
- 通用java程序linux启动脚本精简版
- 通达OA2015版与金蝶K3系统集成方案
- scala中.map()方法
- linux有名管道的一点理解