Ios 从Swift转换到Objective C,为什么这个代码只工作一次?
我这里有一个非常简单的objective c代码,它从日期选择器中获取所选日期,并将其作为变量(_labellll)附加到标签上。它只是第一次起作用。如果我尝试另一次约会,它就不会再起作用了。我也有swift的工作代码,它工作得很好,但我需要用目标C正确地编写它。有人能帮忙吗?谢谢 目标C代码:Ios 从Swift转换到Objective C,为什么这个代码只工作一次?,ios,objective-c,swift,xcode,Ios,Objective C,Swift,Xcode,我这里有一个非常简单的objective c代码,它从日期选择器中获取所选日期,并将其作为变量(_labellll)附加到标签上。它只是第一次起作用。如果我尝试另一次约会,它就不会再起作用了。我也有swift的工作代码,它工作得很好,但我需要用目标C正确地编写它。有人能帮忙吗?谢谢 目标C代码: - (IBAction)didDateChamge:(id)sender { NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] in
- (IBAction)didDateChamge:(id)sender {
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE"];
NSString *dayOfTheWeek = [dateFormatter stringFromDate:[NSDate date]];
[_labelllll setText:[NSString stringWithFormat:@"%@",dayOfTheWeek]];
}
Swift代码:
试试这个
- (IBAction)didDateChamge:(UIDatePicker *)sender {
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE"];
NSString *dayOfTheWeek = [dateFormatter stringFromDate:sender.date];
[_labelllll setText:[NSString stringWithFormat:@"%@",dayOfTheWeek]];
}
您需要更改方法签名并使用sender.date获取所选日期。请查看您的代码
sender.date
!=[NSDate date]
您正在将不同的值传递给stringFromDate:
-在Objective-C中,您正在发送[NSDate date]
,而在Swift中,您每次通过[NSDate date]时都在发送发送者.date
。将-(iAction)didDateChamge:(id)发送方替换为-(iAction)didDateChamge:(UIDatePicker*)发送方并更改此行NSString*DayOfWeek=[dateFormatter stringFromDate:[NSDate date date]];到NSString*DayOfWeek=[dateFormatter stringFromDate:sender.date];它应该是(UIDatePicker*)
@AliRJ当使用独立本地工作日时,您应该使用“cccc”
而不是“EEEE”