BRPickerView
BRPickerView copied to clipboard
'*** -[__NSArrayI objectAtIndexedSubscript:]: index 18446744073709551615 beyond bounds [0 .. 2]'
直接调用: // 1.创建日期选择器 BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init]; // 2.设置属性 datePickerView.pickerMode = BRDatePickerModeYMD; datePickerView.title = @"选择年月日"; // datePickerView.selectValue = @"2019-10-30"; datePickerView.selectDate = [NSDate br_setYear:2019 month:10 day:30]; datePickerView.minDate = [NSDate br_setYear:1949 month:3 day:12]; datePickerView.maxDate = [NSDate date]; datePickerView.isAutoSelect = YES; datePickerView.resultBlock = ^(NSDate *selectDate, NSString *selectValue) { NSLog(@"选择的值:%@", selectValue); }; // 设置自定义样式 BRPickerStyle *customStyle = [[BRPickerStyle alloc]init]; customStyle.pickerColor = BR_RGB_HEX(0xd9dbdf, 1.0f); customStyle.pickerTextColor = [UIColor redColor]; customStyle.separatorColor = [UIColor redColor]; datePickerView.pickerStyle = customStyle;
// 3.显示
[datePickerView show];
崩溃在了: return [rowsArr[component] integerValue]; // 2.设置 pickerView 每列的行数
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { NSArray *rowsArr = [NSArray array]; if (self.pickerMode == BRDatePickerModeYMDHMS) { rowsArr = @[@(self.yearArr.count), @(self.monthArr.count), @(self.dayArr.count), @(self.hourArr.count), @(self.minuteArr.count), @(self.secondArr.count)]; } else if (self.pickerMode == BRDatePickerModeYMDHM) { rowsArr = @[@(self.yearArr.count), @(self.monthArr.count), @(self.dayArr.count), @(self.hourArr.count), @(self.minuteArr.count)]; } else if (self.pickerMode == BRDatePickerModeYMDH) { rowsArr = @[@(self.yearArr.count), @(self.monthArr.count), @(self.dayArr.count), @(self.hourArr.count)]; } else if (self.pickerMode == BRDatePickerModeMDHM) { rowsArr = @[@(self.monthArr.count), @(self.dayArr.count), @(self.hourArr.count), @(self.minuteArr.count)]; } else if (self.pickerMode == BRDatePickerModeYMD) { if ([self.pickerStyle.language hasPrefix:@"zh"]) { rowsArr = @[@(self.yearArr.count), @(self.monthArr.count), @(self.dayArr.count)]; } else { rowsArr = @[@(self.dayArr.count), @(self.monthArr.count), @(self.yearArr.count)]; } } else if (self.pickerMode == BRDatePickerModeYM) { if ([self.pickerStyle.language hasPrefix:@"zh"]) { rowsArr = @[@(self.yearArr.count), @(self.monthArr.count)]; } else { rowsArr = @[@(self.monthArr.count), @(self.yearArr.count)]; } } else if (self.pickerMode == BRDatePickerModeY) { rowsArr = @[@(self.yearArr.count)]; } else if (self.pickerMode == BRDatePickerModeMD) { rowsArr = @[@(self.monthArr.count), @(self.dayArr.count)]; } else if (self.pickerMode == BRDatePickerModeHMS) { rowsArr = @[@(self.hourArr.count), @(self.minuteArr.count), @(self.secondArr.count)]; } else if (self.pickerMode == BRDatePickerModeHM) { rowsArr = @[@(self.hourArr.count), @(self.minuteArr.count)]; } else if (self.pickerMode == BRDatePickerModeMS) { rowsArr = @[@(self.minuteArr.count), @(self.secondArr.count)]; } return [rowsArr[component] integerValue]; }
component 怎么会是-1呢
clean一下,重新pod。我这边测没问题~
clean一下,重新pod。我这边测没问题~
还是一样,第一次是直接拖进工程的,刚pod,一样的问题
单独跑一下Demo看看有没有问题,排查一下,我这边重现不了
单独跑一下Demo看看有没有问题,排查一下,我这边重现不了
demo没问题,我只用了你demo里的一段代码,直接拿过来试一试的 // 1.创建日期选择器 BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init]; // 2.设置属性 datePickerView.pickerMode = BRDatePickerModeYMD; datePickerView.title = @"选择年月日"; // datePickerView.selectValue = @"2019-10-30"; datePickerView.selectDate = [NSDate br_setYear:2019 month:10 day:30]; datePickerView.minDate = [NSDate br_setYear:1949 month:3 day:12]; datePickerView.maxDate = [NSDate date]; datePickerView.isAutoSelect = YES; datePickerView.resultBlock = ^(NSDate *selectDate, NSString *selectValue) { NSLog(@"选择的值:%@", selectValue); }; // 设置自定义样式 BRPickerStyle *customStyle = [[BRPickerStyle alloc]init]; customStyle.pickerColor = BR_RGB_HEX(0xd9dbdf, 1.0f); customStyle.pickerTextColor = [UIColor redColor]; customStyle.separatorColor = [UIColor redColor]; datePickerView.pickerStyle = customStyle;
// 3.显示
[datePickerView show];
component的值 不可能 18446744073709551615 或 -1;Xcode重启一下,clean一下,重新编译试一下
component的值 不可能 18446744073709551615 或 -1;Xcode重启一下,clean一下,重新编译试一下
并不行,numberOfRowsInComponent代理方法刚走第一步的component的值就是-1了
实在不行,你可以新建工程Demo,单独导入库测试一下。排查一下是项目环境、或开发环境、或库本身的问题 😂
实在不行,你可以新建工程Demo,单独导入库测试一下。排查一下是项目环境、或开发环境、或库本身的问题 😂
UIDatePicker为何不能用了
可以用啊,设置 pickerMode = BRDatePickerModeDate
我也是这个问题
请升级到最新版本进行使用