以编程方式添加UICollectionView时应用崩溃

时间:2017-10-05 09:59:13

标签: ios objective-c uicollectionview uicollectionviewcell uicollectionviewflowlayout

我正在尝试在我的项目中以编程方式添加带有自定义UICollectionViewCell的UICollectionView。

这是我添加CollectionView

的实现
- (void)awakeFromNib {
     [super awakeFromNib];
    // Initialization code
}

- (void)setData:(NSDictionary *)dict{
    self.lblChecklistType = dict[SERVER_CHECKLIST_TYPE];
    self.lblEndTime = dict[SERVER_END_TIME];
    self.lblStartTime = dict[SERVER_START_TIME];
    self.lblDescription = dict[SERVER_DESCRIPTION];
}

这" setUpCollectionView"函数是从我的viewcontroller的ViewDidLoad()调用的。

我刚刚在MyChecklistsCell中实现了这两个功能。

{{1}}

任何人都可以帮我这个吗?感谢。

2 个答案:

答案 0 :(得分:1)

试试这个。

- (void)setData:(NSDictionary *)dict{
        self.lblChecklistType = [NSString stringWithFormat:@"%@",dict[SERVER_CHECKLIST_TYPE]];
        self.lblEndTime = [NSString stringWithFormat:@"%@",dict[SERVER_END_TIME]]; ;
        self.lblStartTime = [NSString stringWithFormat:@"%@",dict[SERVER_START_TIME]]; ;
        self.lblDescription = [NSString stringWithFormat:@"%@",dict[SERVER_DESCRIPTION]];
  }

错误表示您在NSNumber上使用NSString方法。请检查您的数据是否为字符串。

希望它有所帮助。

答案 1 :(得分:1)

看起来你试图将标签设置为NSNumber。这里的问题是使用字典来保存您的数据而不进行任何类型检查。考虑使用对象来存储数据,而不是字典。这样可以更清楚地了解您尝试设置的属性并避免将来出现问题。

或者,您评论的错误消息似乎只引用了一个内存地址,而不是一个可能表明您没有正确保留集合视图或其他属性的对象 - 您是否仔细检查了所有引用是否正确强弱?