我是目标c的新人,
我正在考虑两个日期并获取两者之间的天数:
NSString *start = @"2010-12-01";
NSString *end = @"2010-12-02";
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd"];
NSDate *startDate = [f dateFromString:start];
NSDate *endDate = [f dateFromString:end];
NSDateComponents *components;
NSInteger days;
components = [[NSCalendar currentCalendar] components: NSDayCalendarUnit
fromDate: startDate toDate: endDate options: 0];
days = [components day];
当我尝试将日期分配给cell.textLable.text = days
时,我收到此错误消息:
Thread 1: EXC_BAD_ACCESS(code=1, address=0x1)
单元格是SGridAutoMultiLineCell *cell;
错误意味着什么,我该如何修复它。返回的数字是1。
答案 0 :(得分:1)
您要将一个整数值(1,Dec 1和2nd之间的天数)分配给期望NSString
实例的标签。这就是为什么错误消息说地址是0x1-它将整数值1视为内存中对象的地址。正如评论中指出的那样,首先必须将整数转换为字符串。最简单的方法是使用-stringWithFormat:
,但您可能希望执行特定于语言环境的格式化。