gpt4 book ai didi

iphone - 创建一个调度方法以在 Objective C (Xcode) 中以 7 天轮换显示自定义标签

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:01 25 4
gpt4 key购买 nike

我正在为我的学校制作一个应用程序。我们有一个 7 天的轮换计划......所以今天是 G 日,明天将是 A 日,星期四 B,星期五 C,星期一回到 D。我想在我的应用程序的主页上放置一个 UILabel将根据我们学校的 A-G 符号输出今天是哪一天……谁能想出办法做到这一点(初学者会理解)?

问题是星期一并不总是“A”日,因为我们以 7 天为周期,但每周只上学 5 天。有什么解决办法吗?

我目前使用 NSDateFormatter 连接到一个字符串,然后连接到一个 UILabel 以显示星期几,如果有帮助的话。代码如下。

 - (void)viewDidAppear:(BOOL)animated
{

//get the date today

NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"cccc, MMMM dd"];

NSString *dateToday = [dateformatter stringFromDate:[NSDate date]];

[currentdate setText:dateToday];


//get the time today

NSDateFormatter *timeformatter = [[NSDateFormatter alloc] init];
[timeformatter setDateFormat:@"hh:mm a"];

NSString *timeToday = [timeformatter stringFromDate:[NSDate date]];
[currenttime setText:timeToday];

问题:

我会使用“setText:”将其输出到标签吗?我在我的 .h 中声明了一个名为 *letterday 的导出,现在我试图将信发送给它,然后在我的 .m 中:

[NSDate JL_currentRotationDayWithSchoolYearBeginningOnDateString:@"2011-09-12"];

[letterday setText:

这样看起来对吗?抱歉我太落后了...

最佳答案

您可以在此处通过评论查看整个类别的源代码:https://gist.github.com/1590955

#import "NSDate+RotationScheduleFormatter.h" 在您想要使用类别的每个实现文件中。然后使用以下方法调用获取当前轮换日:

[NSDate JL_currentRotationDayWithSchoolYearBeginningOnDateString:@"2011-08-01"]; 其中日期的格式为 YYYY-MM-DD

这将返回 RotationDay 类型的枚举,kRotationDay[A-G] 之一。

为了让假期和其他工作日放学,您需要进入 .m 文件并编辑名为 + (int)numberOfWeekdayBreakDaysBetweenSchoolYearBeginningDate:(NSDate *)beginningDate andEndDate:(NSDate *) 的方法结束日期 1

您将在其中看到一个名为 weekdayBreakArray 的数组,其中包含一些值(格式为 YYYY-MM-DD)。删除这些测试值并添加在工作日的每个休息日的每一天。 不要添加周末的日期。

实现:

假设存在一个名为rotationLetterUILabel,您可以执行以下操作:

RotationDay rotationDayInt = [NSDate JL_currentRotationDayWithSchoolYearBeginningOnDateString:@"2011-08-01"];
if (rotationDayInt == kRotationDayA) {
[rotationLetter setText:@"A"];
}
else if (rotationDayInt == kRotationDayB) {
[rotationLetter setText:@"B"];
}

以此类推更多的 else if 语句,直到到达 kRotationDayG

注意事项:

请记住将对此方法的调用包含在 if 语句中,该语句检查您是在休假还是在周末,否则结果将不正确。另请注意,我没有使用手动保留/释放优化此类内存管理,因为我不确定您是否使用 ARC。 此外,如果您遇到下雪天或其他意外中断并且您无法及时更新应用程序,则整个系统将出现故障。因此,我强烈建议您每次打开应用程序时都从服务器下载日期数组,以防您需要即时进行更改。

关于iphone - 创建一个调度方法以在 Objective C (Xcode) 中以 7 天轮换显示自定义标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com