目前,我正在开发一款使用Core Data的应用。我的一个托管对象有一个属性,它以一个整数(0-6)跟踪星期几(星期日 - 星期六)。为了按日排序对象以及节省的开销较少,我绝对相信最佳做法是将日期保存为索引,然后在运行时转换为字符串。问题成为将索引转换为字符串对应日期的最佳实践。即。 0 => @“星期日”和6 => @“星期六”。我显然可以使用NSCalendar和NSDate以及NSDateComponents来实现这一点。考虑到任务的简单性,这似乎是一种非常迂回的方式。当然,这样定义的简单NSString数组可以解决这个问题:
NSString *dayOfWeek[7] = {@"Sunday",@"Monday",@"Tuesday",@"Wednesday",@"Thursday",@"Friday'"@"Saturday"};
但后来我发现自己一遍又一遍地重新定义这个变量。全局常量NSString可以工作。我的另一个想法是创建一个使用dayOfWeek数组然后将其包含在需要它的文件中的函数。你怎么看。什么是最佳做法?
答案 0 :(得分:8)
NSDateFormatter的一个weekdaySymbols方法怎么样?
答案 1 :(得分:1)
另一个解决方案是在NSString上定义一个类别方法,例如,根据数字返回字符串。然后,strings数组可以是静态的,只在该方法中使用。