【发布时间】:2011-06-01 05:38:57
【问题描述】:
我可以使用以下代码将 UILabel 的值存储到字符串中。字符串的值存储到 NSDate 中。
NSString *star = [[NSString alloc]init];
star = lbtInDate.text;
NSString *end = [[NSString alloc]init];
end = lblOutDate.text;
NSDateFormatter *dateFormatter1=[[NSDateFormatter alloc]init];
[dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *sdate= [dateFormatter1 dateFromString:star];
NSDate *edate=[dateFormatter1 dateFromString:end];
但 sdate 和 edate 的值显示为 nil。所以请帮助我如何将 UILabel 的值存储到 NSDate 中进行比较。
【问题讨论】:
-
两件事:你确定
lbtInDate和lblOutDate在你的 xib 文件中连接(不是 nil)吗?而且,您如何检查sdate和edate的值? -
另外,请注意:您不必这样做
NSString *foo = [[NSString alloc] init]; foo = ...;。这实际上会泄漏内存相反,您应该只做NSString *foo = ...;。 -
在将其转换为日期之前,只需 NSLog 星号并结束,这样您就可以确保从标签(而非标签)中获取值..
-
我认为您没有得到结果,因为您的日期格式化程序不正确,无法参考转到stackoverflow.com/questions/5087173/… .....还要交叉检查您是否在星号和结束变量中获取值... . 你也不需要对这些 tw 变量使用 [[NSString alloc]init] (这是一个泄漏)