这些代码行就是问题所在:
case CostPeriodMonthly:
NSRange days = [gregorian rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[NSDate date]];
[endDateComponents setDay:days.length];
[endDateComponents setMonth:[todayComponents month]];
[endDateComponents setYear:[todayComponents year]];
break;
使用天的第一行突出显示为“使用未声明的标识符天”,但是为什么呢?我在这里想念什么?
最佳答案
如果要在case
语句中声明新变量,则必须将这些语句括在{}
块中:
case CostPeriodMonthly: {
NSRange days = [gregorian rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[NSDate date]];
[endDateComponents setDay:days.length];
[endDateComponents setMonth:[todayComponents month]];
[endDateComponents setYear:[todayComponents year]];
break;
}
关于ios - iOS:为什么NSRange总是抛出错误“使用未声明的标识符”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21810813/