gpt4 book ai didi

ios - 有没有办法在 iOS 中获取分钟和小时的集合/数组?

转载 作者:行者123 更新时间:2023-12-01 18:12:22 25 4
gpt4 key购买 nike

我试图以最简单的方式用分钟和小时填充我的选择器 View 。我正在实现一个自定义选择器,所以使用 UIDatePicker其模式设置为 UIDatePickerModeTime是不可能的。

iOS 中是否有可用的函数来检索数据集,或者我只需要使用 0-12 中的硬编码值初始化数组吗? (12 小时制)和 0-60分别用for循环表示小时和分钟?

我目前正在像这样填充数组:

#pragma mark - Lazy Loading
-(NSArray *)hourValues{
if(!_hourValues){
NSMutableArray *hours = [[NSMutableArray alloc] init];
for(int i = 0; i < 12; i++){
[hours addObject:[NSNumber numberWithInt:i]];
}
_hourValues = hours;
}
return _hourValues;
}
-(NSArray *)minuteValues{
if(!_minuteValues){
NSMutableArray *minutes = [[NSMutableArray alloc] init];
for(int i = 0; i < 60; i++){
[minutes addObject:[NSNumber numberWithInt:i]];
}
_minuteValues = minutes;
}
return _minuteValues;
}
-(NSArray *)amPmValues{
if(!_amPmValues){
_amPmValues = @[@"am", @"pm"];
}
return _amPmValues;
}

我不喜欢硬编码的值。

理想情况下,我希望能够做这样的事情:
hours = [NSDate NS12HourSetArray];
minutes = [NSDate NS60MinuteArray];

最佳答案

我认为你有3个选择:

  • 编写一个脚本/自动创建文本数据并在运行时加载它,你可以在 python/bash 和 plist 中轻松地做到这一点。
  • 使用旧的 for 循环手动完成。我建议这样做。
  • 或者您可以使用 NSIndexSet 从您想要的任何范围创建索引集和 NSRange分别为对象。

  • 例如:
    NSIndexSet *minutesIndexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 60)];

    然后你直接让你的 UI 加载从索引集,或者再次枚举索引集并用它的索引填充一个数组。

    在这两种方式中,您最终要做的是迭代循环以手动填充数组。唯一只做负载的是第一个。

    关于ios - 有没有办法在 iOS 中获取分钟和小时的集合/数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026689/

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