2014-09-21 2 views
0

iOS 개발을 시작하고 버그가있는 것 같습니다!UIPickerView가 "?"를 반환합니다. in columns

이미지 : http://prntscr.com/4p1hfr

이 코드를 사용하는 동안 : 그것은 "테스트"를 표시해야 몇

@interface RecentImages : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> 

@property (strong, nonatomic) NSArray *imageURLs; 

@end 

Recent.m

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
_imageURLs = @[@"test", @"test", 
        @"test", @"test", @"test"]; 
} 

- (void)didReceiveMemoryWarning 
{ 
[super didReceiveMemoryWarning]; 
// Dispose of any resources that can be recreated. 
} 
#pragma mark - 
#pragma mark PickerView DataSource 

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

- (NSInteger)pickerView:(UIPickerView *)pickerView 
numberOfRowsInComponent:(NSInteger)component 
{ 
    return _imageURLs.count; 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView 
     titleForRow:(NSInteger)row 
     forComponent:(NSInteger)component 
{ 
    return _imageURLs[row]; 
} 
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row 
    inComponent:(NSInteger)component 
{ 
    NSLog(@"got it"); 

} 

:

Recent.h을 시간 맞지? 아니 "?". 나는 매우 혼란 스럽다.

+0

대리자 메서드를 호출하는 것이 확실합니까? – danh

+0

정확히 무엇을 의미합니까? – user3818701

+0

numberOfRowsInComponent 또는 titleForRow에 중단 점을 배치하십시오. 전화가 왔는지 확인하십시오. – danh

답변

0

어떤 Xcode 버전을 사용하고 있습니까? 귀하의 코드가 ios 8 및 Xcode 6에서 정상적으로 작동하고 있으므로 배열을 채운 후에도이 코드를 사용해보십시오.>

self.pickerView.delegate = self;

self.pickerView.dataSource = self;

[self.pickerView reloadAllComponents];