【发布时间】:2015-03-02 02:01:00
【问题描述】:
我正在尝试将 NSString 转换为 NSDate
NSString destructString 是 2015-01-04 08:36:42 +0000
我知道问题是从我在下面评论的地方开始的,但我似乎找不到问题所在。
程序在该点停止并在标题中给出错误。
代码的重点是比较两个日期以查看哪个日期更旧。
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
NSDate *today = [[NSDate alloc]init];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if(!error){
for(PFObject* object in [self objects]){
NSLog(@"OBJECT: %@", object);
PAWPost *post = [[PAWPost alloc] initWithPFObject:object];
NSLog(@"post: %@", post);
NSLog(@"today: %@", today);
NSString *destructString = [post.object objectForKey:selfDestructDateKey];
NSLog(@"destruct string: %@", destructString);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss zz"];
//SOURCE OF PROBLEM BEGINS HERE
NSDate *destructDate = [dateFormat dateFromString:destructString];
NSLog(@"destruct date: %@", destructDate);
if([destructDate compare:today] == NSOrderedDescending){
[object deleteEventually];
NSLog(@"DESCENDING");
}
else
NSLog(@"NOT DESCENDING");
}
}else {
NSLog(@"Error in findObjectsInBackgroundWithBlock for destruct purposes");
}
}];
我也知道关于这个主题还有另一篇文章,但是我已经尝试过修复(正在重做格式),但它并没有解决问题。提前致谢!
【问题讨论】:
-
看起来
[post.object objectForKey:selfDestructDateKey]已经返回给你NSDateobject )) -
我现在感觉很笨,但感谢它有效! :)
-
请检查我的答案,可以证明我的猜测
标签: ios objective-c nsstring nsdate