0

如果此问题已在前面讨论过,请原谅我。
我在UIPickerView中显示数据有问题,只显示问号“?”

头file.hUIPickerView无法正确显示数据(仅显示“?”)

#import <UIKit/UIKit.h> 
@interface CustomPickerViewController : UIViewController 
<UIPickerViewDelegate, UIPickerViewDataSource> { 
    NSMutableArray *arrayColors; 
} 

@property (strong, nonatomic) IBOutlet UIPickerView *kotaPicker; 

@end 

impl.m

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { 
    return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { 
    return [arrayColors count]; 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row { 
    return [arrayColors objectAtIndex:row]; 
} 

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
    NSLog(@"The Data is %@", [arrayColors objectAtIndex:row]); 
} 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    arrayColors = [[NSMutableArray alloc] init]; 
    [arrayColors addObject:@"Red"]; 
    [arrayColors addObject:@"Orange"]; 
    [arrayColors addObject:@"Yellow"]; 
    [arrayColors addObject:@"Green"]; 
    [arrayColors addObject:@"Blue"]; 
    [arrayColors addObject:@"Indigo"]; 
    [arrayColors addObject:@"Violet"]; 
    // Do any additional setup after loading the view from its nib. 
} 
+0

你有没有设置UIPickerView委托给文件所有者 – icodebuster 2013-05-04 17:20:10

回答

3

好了,你的问题就解决了,问题是不正确的委托方法,

的方法已经使用(用于加载数据)不是委托方法,

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row 

试试这个方法,而不是,(必须努力)

-(NSString *) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
    return [arrayColors objectAtIndex:row]; 
} 
+0

非常感谢..现在它的工作..所以我只是忘了在文档中复制所有方法名。 :) – 2013-05-05 04:34:47