2015-07-19 3 views
1

Я работаю над тем, когда пользователь нажимает текстовое поле, отображается представление выбора. есть несколько текстовых полей и видов подбора.
Я могу заполнить numberOfRowsInComponent, но не numberOfRowsInSection.Picker View и текстовые поля numberOfRowsInSection

вот код:

-(NSInteger)pickerView:(UIPickerView *) pickerView numberOfRowsInComponent:(NSInteger)component { 

    NSUInteger count = 0; 

    if (self.schoolPicker) { 
     count = [self.infoLibrary.school count]; 
    } 
    if (self.majorPicker) { 
     count = [self.infoLibrary.major count]; 
    } 
    if (self.classPicker) { 
     count = [self.infoLibrary.classPicker count]; 
    } 
    if (self.nationalityPicker) { 
     count = [self.infoLibrary.nationality count]; 
    } 
    if (self.commuterPicker) { 
     count = [self.infoLibrary.commuter count]; 
    } 
    if (self.honorsPicker) { 
     count = [self.infoLibrary.honors count]; 
    } 
    if (self.varsityAthletePicker) { 
     count = [self.infoLibrary.varsityAthlete count]; 
    } 
    return count; 
} 

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 

    NSString *count = 0; 

    if (self.schoolPicker) { 
     count = [self.infoLibrary.school objectAtIndex:row]; 
    } 
    if (self.majorPicker) { 
     count = [self.infoLibrary.major objectAtIndex:row]; 
    } 
    if (self.classPicker) { 
     count = [self.infoLibrary.classPicker objectAtIndex:row]; 
    } 
    if (self.nationalityPicker) { 
     count = [self.infoLibrary.nationality objectAtIndex:row]; 
    } 
    if (self.commuterPicker) { 
     count = [self.infoLibrary.commuter objectAtIndex:row]; 
    } 
    if (self.honorsPicker) { 
     count = [self.infoLibrary.honors objectAtIndex:row]; 
    } 
    if (self.varsityAthletePicker) { 
     count = [self.infoLibrary.varsityAthlete objectAtIndex:row]; 
    } 
    return count; 
} 

ответ

0

Я немного запутались ваш вопрос, потому что numberOfRowsInSection: это метод UITableViewDataSource, не UIPickerViewDataSource. Тем не менее, существует постоянная проблема с кодом, который вы опубликовали. В своих методах, вы, кажется, тестирование, для которых сборщика его просмотра является, например, проверка:

if (self.schoolPicker) { } 

... который только проверяет, является ли эта точка зрения выбора существует, не является ли он один для который метод вызывается.

Вы хотите вместо проверки с:

if (pickerView==self.schoolPicker) { }