对于 UIPickerViewDataSource
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return LOCATION_COUNT;
}
使用枚举计数技巧
typedef enum { CurrentLocation = 0, CurrentCity, CurrentRegion, LOCATION_COUNT} enumLocation;
对于 UIPickerViewDelegate
- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
[self.enumLocationStringDict objectForKey:[NSNumber numberWithInt:row]]
}
字典可以如下
self.enumLocationStringDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"CurrentLocation", [NSNumber numberWithInt:CurrentLocation],
@"CurrentCity", [NSNumber numberWithInt:CurrentCity],
@"CurrentRegion", [NSNumber numberWithInt:CurrentRegion],
,nil];