目前我有这段代码:
NSArray *lessons = [[NSUserDefaults standardUserDefaults] objectForKey:@"TuesdayLessons"];
NSString *s1 = [lessons objectAtIndex:0];
self.lesson1.text = s1;
NSString *s2 = [lessons objectAtIndex:1];
self.lesson2.text = s2;
NSString *s3 = [lessons objectAtIndex:2];
self.lesson3.text = s3;
NSString *s4 = [lessons objectAtIndex:3];
self.lesson4.text = s4;
NSString *s5 = [lessons objectAtIndex:4];
self.lesson5.text = s5;
NSString *s6 = [lessons objectAtIndex:5];
self.lesson6.text = s6;
这会抓取数组中的对象并将其放入视图控制器上的标签中。这需要根据它的日期来完成。例如,如果当天是星期二,则objectForKey
将保持原样(objectForKey:@"TuesdayLessons"
)。但如果这一天是星期三,我会想要
[[NSUserDefaults standardUserDefaults] objectForKey:@"WednesdayLessons"]
我需要让我的应用程序检查它的当天,并在objectForKey:
电话中使用这一天。
答案 0 :(得分:2)
您可以通过以下方式获取当天的名称:
NSDate *now = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEEE"];
NSString *today = [df stringFromDate:now];
然后会返回类似"星期一和#34;或"星期二"。然后你可以这样做:
NSString *key = [NSString stringWithFormat:@"%@Lessons", today];
这将返回例如" MondayLessons",您可以使用它来检索数组:
[[NSUserDefaults standardUserDefaults] objectForKey:key];
一个建议:最好使用当天的数字(例如,0 =星期日,1 =星期一等等),因为当然,如果用户使用不同语言的日名称不同决定更改设备的语言。