我只是想尝试使用以下代码在星期五下午4点至下午6点之间的星期五更改UILabel
上的文本,但是未调用if语句?我正在通过Interface Builder使用UILabel
的子类。
- (void)viewDidLoad {
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(targetMethod) userInfo:nil repeats:YES];
}
-(void)targetMethod {
NSLog(@"Called Timer");
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE hh mm"];
NSDate *dt = [NSDate date];
NSString *dayAsString = [formatter stringFromDate:dt];
NSArray *array = [dayAsString componentsSeparatedByString: @""];
if([[array objectAtIndex:0] isEqualToString:@"Friday"] && [[array objectAtIndex:1] intValue]>=4 && [[array objectAtIndex:1] intValue]<=6 && [[array objectAtIndex:2] intValue]>=0 && [[array objectAtIndex:2] intValue] <=59)
{
self.scrollingLabel.text = @"On Air";
NSLog(@"On Air");
}
else
{
self.scrollingLabel.text = @"Off Air";
NSLog(@"Off Air");
}
}
任何帮助,将不胜感激。
最佳答案
您犯了2个错误
此[formatter setDateFormat:@"EEE hh mm"];
中的
"EEE"
仅显示一天中的3个字符,例如“Fri”。 NSArray *array = [dayAsString componentsSeparatedByString: @""];
将仅返回数组中的一个对象。 现在您需要做
"EEEE"
(4E)将返回全名,例如“星期五”。 NSArray *array = [dayAsString componentsSeparatedByString: @" "];
中的单个空格分隔关于ios - 如果未调用语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31554642/