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

use*_*331 -1 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];
Run Code Online (Sandbox Code Playgroud)

当我尝试将天分配给时cell.textLable.text = days,却收到以下错误消息:

Thread 1: EXC_BAD_ACCESS(code=1, address=0x1)
Run Code Online (Sandbox Code Playgroud)

单元格是SGridAutoMultiLineCell *cell;什么,这表示错误是什么意思以及如何解决。返回的数字是1。

And*_*ico 6

尝试:

cell.textLabel.text = [NSString stringWithFormat:@"%d", days];
Run Code Online (Sandbox Code Playgroud)

您当前的代码(cell.textLable.text = days;)正在将整数传递给需要NSString指针的字段。当组件尝试取消引用该值(1)作为指针时,会发生崩溃,因为1当前不是有效的内存位置。

上面的代码将构造一个NSString包含days值的。