2012-02-04 3 views
0

Вот мой кодНевозможно получить выбранное значение UIPickerView

class.h

....... 
{ 
    NSInteger selectedRow; 
} 
@property (nonatomic) NSInteger selectedRow; 
....... 

classs.m

@synthesize selectedRow = _selectedRow; 
    ....... 
UIPickerView *picker = [[UIPickerView alloc] initWithFrame:CGRectMake(20, 150, 280, 100)]; 
picker.delegate = self; 
picker.showsSelectionIndicator = YES; 
[self.view addSubview:picker]; 

self.selectedRow = [picker selectedRowInComponent:0]; 

При нажатии кнопки селектора собака называется

-(void)dbg 
{ 
    NSLog(@"%d", self.selectedRow) -- RESULT 0 
    NSLOg(@"%@", self.selectedRow) -- RESULT null 
} 

Что мне не хватает здесь?

ответ

0

NSLog(@"%@", …) печатает объекты, но NSInteger является примитивным типом. Первый NSLog должен работать правильно.

Вы должны реализовать делегат сборщика, особенно pickerView:didSelectRow:inComponent:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    self.selectedRow = row; 
} 
+0

Неа. % d дает значение 0 каждый раз. – objlv

+0

см. Мое редактирование – vikingosegundo

Смежные вопросы