еще один Objective-C для вас, вероятно, довольно очевидный, но я занимался этим уже несколько дней и не могу заставить его работать после траления подобных проблем здесь и в других местах!
Практически у меня есть 5-сегментный сборщик, который, когда нажимается кнопка, показывается лист предупреждения, который после принятия захватывает значения колес сборщика. Просто да, но я не могу заставить его работать, и я не уверен, где я ошибаюсь ... Некоторый код ниже ... это, вероятно, довольно плохо ... но это все довольно ново для меня, поэтому любая помощь будет оценили. Кстати, все это делается без использования InterfaceBuilder.
Все до цикла после листа действий работает нормально ... Я просто не могу вывести значения!
(ps, я надеюсь, что форматирование работает! И я изменил некоторые из моих имен и того, но все должно быть правильно)
Спасибо!
MyFile.h
@interface MyViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource, UIActionSheetDelegate>
{
UIPickerView * thePickerView;
NSArray *thePickerValues;
}
@property (nonatomic, retain) UIPickerView *thePickerView;
@property (nonatomic, retain) NSArray *thePickerValues;
- (void)buildPicker;
- (void)doAction;
@end
MyFile.m
@implementation MyViewController
@synthesize thePickerView;
@synthesize thePickerValues;
- (void)viewDidLoad
{
NSArray *values = [[NSArray alloc] initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",nil];
thePickerValues = values;
[values release];
[self buildPicker];
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 5;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [self.thePickerValues count];
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [self.thePickerValues objectAtIndex:row];
}
-(void)buildPicker
{
CGRect pickerFrame = CGRectMake(0.0f,130.0f,320.0,100.0f);
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:pickerFrame];
pickerView.delegate = self;
pickerView.showsSelectionIndicator = YES;
[self.view addSubview:pickerView];
[pickerView release];
}
- (void)doAction
{
UIActionSheet *actionSheet = [[UIActionSheet alloc]
initWithTitle:[NSString stringWithFormat:@"Blah blah"]
delegate:self
cancelButtonTitle:@"No!"
destructiveButtonTitle:@"Yes!"
otherButtonTitles:nil];
[actionSheet showInView:self.parentViewController.tabBarController.view];
[actionSheet release];
}
-(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if(!(buttonIndex == [actionSheet cancelButtonIndex]))
{
NSLog(@"Get the picker values");
for(int i = 0; i<5;i++)
{
NSInteger *selectedValue = [thePickerView selectedRowInComponent:i];
NSLog(@"Wheel : %i Value : %i", i, selectedValue);
[selectedValue release];
}
}
}