懒加载数据,在取出数据时容易出的bug....

&1. 易错点bug : 为什么第二行代码这里不用NSString stringWithFormat:
     
1  NSDictionary *dict=self.picture[self.index];
2     self.jieshaoLabel.text=dict[@"desc"];
3       //==等效于[NSString stringWithFormat:@"%@",dict[@"desc"]];
4        第一种解释:这里使用的就是里面的属性, 所以可以直接用,
5     //?? 为什么这里不用NSString stringWithFormat:
6        第二种解释:  因为这里直接就可以引用字典中的键值对的数据了,而下面的self.suoyinLabel.text需要拼接组合数据,需要通过调用其他的属性来组成,所以需要用;
7     self.imageViewIcon.image=[UIImage imageNamed:dict[@"icon"]];
8     self.suoyinLabel.text=[NSString stringWithFormat:@"%d / %ld",self.index+1,self.picture.count];
  //取出数组的数据,因为数据是字典,所以用字典接收
    NSDictionary *dict=self.picture[self.index];
    self.jieshaoLabel.text=dict[@"desc"];
      //==等效于[NSString stringWithFormat:@"%@",dict[@"desc"]];
       第一种解释:这里使用的就是里面的属性, 所以可以直接用,
    //?? 为什么这里不用NSString stringWithFormat:
       第二种解释:  因为这里直接就可以引用字典中的键值对的数据了,而下面的self.suoyinLabel.text需要拼接组合数据,需要通过调用其他的属性来组成,所以需要用;
    self.imageViewIcon.image=[UIImage imageNamed:dict[@"icon"]];
    self.suoyinLabel.text=[NSString stringWithFormat:@"%d / %ld",self.index+1,self.picture.count];
 
&2.易出bug的地方: @" %ld” self.picture.count;    这里比较容易出现错误,那就是当你的模拟器是选择5s及其以后版本的模拟器的时候,模拟器属于64位系统,那么就要用%ld,如果是选择的5及其之前的模拟器,模拟器属于32位系统,那么就要用%d

转载于:https://www.cnblogs.com/anRanTimes/p/5079276.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值