何时使用plist,UIPickerView数据源帮助

时间:2009-12-13 03:47:24

标签: iphone cocoa-touch

对于UIPickerView,何时使用plist作为数据源?例如,如果我只是想要阵列1-100,是应该在plist中的东西,还是应该在viewDidLoad中创建的东西?

另外,我注意到在iPhone上的Clock应用程序的UIPickerView中,数字移动了,但是小时和秒的字样保持不变。我怎么做?谢谢!

1 个答案:

答案 0 :(得分:1)

首先,使用plist和数组/字典之间的选择实际上只是一种偏好。 plist有助于以可视方式查看和编辑数据,但最终您必须先将其转换为NSDictionary,然后才能在代码中使用它:

NSString *path = [[NSBundle mainBundle] pathForResource:@"myplist" orType:@"plist"];
NSDictionary *plistDict = [NSDictionary dictionaryWithContentsOfFile:path];

就个人而言,我会在初始化方法中执行此操作,例如awakeFromNib,initWithNibName或init,而不是viewDidLoad。

最后,在选择器上获取不同列的方法是设置组件数。这是在 UIPickerViewDataSource 方法

中完成的
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

这是必需的。它必须告诉你的UITableView它将拥有多少行和部分。只需在 UIPickerViewDelegate 方法

中提供每个组件的信息
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

您可以在其中为不同的组件提供不同的数据。