Не удается получить выбранное значение UIPickerView - PullRequest
0 голосов
/ 04 февраля 2012

Вот мой код

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
}

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

Ответы [ 2 ]

0 голосов
/ 04 февраля 2012

% d означает целое число

% @ означает объект

Вы можете прочитать это:

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html

0 голосов
/ 04 февраля 2012

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

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

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    self.selectedRow = row;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...