iOS-UI之UIPickerView的用法以及联动崩溃的解决办法

本文介绍了iOS中UIPickerView的使用,包括其数据结构和代理协议的实现。在处理多列联动时,由于代理方法的顺序可能导致崩溃,文中提供了解决这种联动崩溃的策略,即通过私有模型对象存储中间状态数据。
摘要由CSDN通过智能技术生成

先看一下UIPickerView样式:

整体结构可以分为有几列columns数据,每列有多少行rows数据。如果是显示1列以上的情况,数据结构为1个数组+这个数组中有N个子数组的结构。

和Tableview一样,使用UIPickerView需要遵守该控件的代理协议:

<UIPickerViewDelegate>和<UIPickerViewDataSource>

具体方法代码如下:

#pragma mark - pickerview delegate、datasource

// returns the number of 'columns' to display.返回有多少个columns
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return self.dataArray.count;
}

// returns the # of rows in each component.在component返回有多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    NSArray *arr = self.dataArray[component];
    return arr.count;
}

// 返回pickerview component中row行的显示数据
- (nullable NSString *)pickerView:(UIPickerView *)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值