目标C EXC_BAD_ACCESS(代码= 1,地址= 0x1)

时间:2014-12-10 20:23:43

标签: objective-c

我是目标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。

1 个答案:

答案 0 :(得分:1)

您要将一个整数值(1,Dec 1和2nd之间的天数)分配给期望NSString实例的标签。这就是为什么错误消息说地址是0x1-它将整数值1视为内存中对象的地址。正如评论中指出的那样,首先必须将整数转换为字符串。最简单的方法是使用-stringWithFormat:,但您可能希望执行特定于语言环境的格式化。