【问题标题】:Label based on Day of the Week基于星期几的标签
【发布时间】:2013-12-19 21:12:51
【问题描述】:

我正在尝试根据星期几显示酒吧的欢乐时光特价,但由于某种原因,标签与当前日期不匹配。我对 Xcode 很陌生,所以我不确定我是否忽略了某些东西。这是我的代码:

NSDate *today = [NSDate date];
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"EEEE"];
    NSString *dateString = [dateFormat stringFromDate:today];
    NSLog(@"date: %@", dateString);
    lblTitle.text = pawpost.title;
    lblPhone.text = pawpost.phone;
    if ((dateString = @"Thursday")) {
        happy.text = pawpost.thu;
    }
    else if ((dateString = @"Monday")) {
        happy.text = pawpost.mon;
    }
    else if ((dateString = @"Tuesday")) {
        happy.text = pawpost.tue;
    }
    else if ((dateString = @"Wednseday")) {
        happy.text = pawpost.wed;
    }
    else if ((dateString = @"Friday")) {
        happy.text = pawpost.fri;
    }
    else if ((dateString = @"Saturday")) {
        happy.text = pawpost.sat;
    }
    else if ((dateString = @"Sunday")) {
        happy.text = pawpost.sun;
    }

【问题讨论】:

  • 提示:赋值运算符不是比较两个对象以查看是否具有相同值的方法。
  • 请注意,dateString 可能不是 Monday 或您列出的任何其他常量,如果用户的语言环境设置为非英语。

标签: objective-c string-comparison


【解决方案1】:

您需要使用isEqualToString: 方法:

if([dateString isEqualToString:@"Monday"]) {
    happy.text = pawpost.mon;
}

您可能还想本地化 @"Monday" 字符串文字。

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多