微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

代表目标C中的小时范围

如何解决代表目标C中的小时范围

| 我正在尝试创建一个表示Obj-C程序中运行时间的类。我一直在考虑使用
NSDatesComponent
进行此操作,但我认为应该有一种更简单的方法。有人对如何执行此操作有任何提示吗? 在Core Data中,我会有一个
shop
实体,该实体的ivar是一个数组。该数组在一周中的每一天都有七个条目,并且每一天的值都是一个“ 2”对象,表示一个小时范围。 9-5、10-6等。问题是,我不确定如何创建我的
hoursOp
类来表示一个小时范围。我当时想使用
NSDateComponents
,但是不确定是否应该打扰。目前,我认为一个“ 2”对象应包含两个变量:开始时间和结束时间。 此外,由于数组条目中可能需要多个“ 2”个对象而使情况变得复杂-如果“ 1”的工作时间为10-4,然后为6-8,该怎么办?因此,它不是一个包含2个对象的数组,而是一个二维数组,其中每个条目都是其自己的1个或2个以上对象的数组。这有点令人费解,但是,一旦我确定了如何表示小时数(或者如果有人有更好的建议的话,可以自己确定范围),我相信我可以使它工作。     

解决方法

很难说实现这一点的“最佳”方法,因为这取决于您对数据的处理方式,但是如果您将星期几,营业时间和营业时间存储在ѭ2中,对象,则可以有一个由2个对象组成的一维数组,这些对象表示商店打开时的时间间隔。 您将失去阵列索引与星期几之间的一对一关系,这可能使某些任务变得更加困难(例如,如果您不断查询该对象的星期六存储时间,例如,您\将会对整个数组进行大量扫描),但否则,您将走上拥有数组数组的道路。     ,这就是我最后要做的,仅使用
NSDate
NSDateFormatter
,而open是在军事时期格式化的
NSString
-(void) setOpeningTimeWithString: (NSString *)open
{
    NSDateFormatter * formatFromInput = [[NSDateFormatter alloc] init];
    [formatFromInput setDateFormat:@\"HH:mm\"];
    self.openingTime = [formatFromInput dateFromString:open];   
    [formatFromInput release];  
}
外卖课程是,可以只设置小时组件的
NSDate
个对象就可以了,其他所有设置都设置为1970年1月1日,并且不会引起任何问题。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。