【发布时间】:2017-10-08 14:51:32
【问题描述】:
-(void)viewLogAction
{
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [formatter dateFromString:_selectedDate];
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy"];
NSString *convertedString = [formatter stringFromDate:date];
_allFood = [CoreDataMethods foodLogFromCoreData:convertedString];
if([_allFood count]==0)
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"No data" message:@"Sorry, No food item to display on this date" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
else{
[self performSegueWithIdentifier:@"viewLogSegue" sender:self];
}
}
这是我的代码。 NSString _selectedDate 具有值2017-05-09,但NSDate *date = [formatter dateFromString:_selectedDate]; 行没有将任何值传递给date。请帮我找出问题。
【问题讨论】:
-
你已分配。 formatter = [[NSDateFormatter alloc] init]; 两次删除第二次就可以了
-
您是否调试并检查过 date 是否为零?
-
代码运行良好。确保 _selected 日期格式正确
-
您的代码没有问题。放置断点并调试。确保您的
_selectedDate格式为yyyy-MM-dd!!它没有下划线或点而不是破折号!逐行调试!打印convertedString、_selectedDate和date! -
确保
_selectedDate在字符串的两端没有空格(空格、换行符)。
标签: ios objective-c xcode nsdate nsdateformatter