Objective c 如何在UIPickerView中存储用户输入?

Objective c 如何在UIPickerView中存储用户输入?,objective-c,xcode,ipad,ios4,Objective C,Xcode,Ipad,Ios4,我的应用程序中当前有一个UIPickerView。有一个文本框,用户将在其中输入字符串,我希望该字符串保存在UIPickerView中,以便他们可以返回并点击它,而不是再次键入它 我现在有一个数组,其中有一些文本,但我想知道在程序运行后如何添加它。假设pickerArray是您的数组名,其数据显示在pickerView中 你要做的是:- (void)textFieldDidEndEditing:(UITextField *)textField { [pickerArray addObject:

我的应用程序中当前有一个UIPickerView。有一个文本框,用户将在其中输入字符串,我希望该字符串保存在UIPickerView中,以便他们可以返回并点击它,而不是再次键入它


我现在有一个数组,其中有一些文本,但我想知道在程序运行后如何添加它。

假设pickerArray是您的数组名,其数据显示在pickerView中

你要做的是:-

 (void)textFieldDidEndEditing:(UITextField *)textField
{
[pickerArray addObject:textField.text];
[*yourPickerViewNmae* reloadAllCompononents];
}

我希望它能帮助您。愉快的编码:

假设pickerArray是您的数组名,其数据显示在pickerView中

你要做的是:-

 (void)textFieldDidEndEditing:(UITextField *)textField
{
[pickerArray addObject:textField.text];
[*yourPickerViewNmae* reloadAllCompononents];
}
我希望它能对您有所帮助。快乐编码:

UIPickerDatasource可以获取要显示的项目数组,在您的情况下,您的数据是动态的,因为您需要在文本中输入数据,然后希望将其输入到选择器控件中

您需要一个NSMutableArray,可以在其中动态添加和删除对象。添加后,您可以调用选择器的reloadAllComponents方法来重新加载数据。

UIPickerDatasource可以获取要显示的项目数组,在您的情况下,您的数据是动态的,因为您需要在文本中输入数据,然后希望将其输入选择器控件中


您需要一个NSMutableArray,可以在其中动态添加和删除对象。添加后,可以调用选择器的reloadAllComponents方法来重新加载数据。

1.使用UITextField的委托函数,在委托函数中,将文本添加到所需的arryuse NSMutable数组中。

1.使用UITextField的委托函数,在委托函数中,将文本添加到所需的arryuse NSMutable数组中。

我已经完成并检查过了。它很好用

下面是代码

#import "pickerViewController.h"

@implementation pickerViewController
@synthesize textfield,picker,pickerarray,btn;
- (void)dealloc
{
    [super dealloc];
    [picker release];
    [textfield release];
    [pickerarray release];
    [btn release];
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
    [super viewDidLoad];
    textfield.delegate=self;
    picker.delegate=self;
    picker.dataSource=self;
    picker.showsSelectionIndicator=YES;
    pickerarray=[[NSMutableArray alloc]init];

}


-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [pickerarray count];
}

-(void)textFieldDidEndEditing:(UITextField *)textField
{
    textfield.delegate=self;
    [pickerarray addObject:textField.text];

    [picker reloadAllComponents];

    NSLog(@"%@",pickerarray);
}

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


    return [pickerarray objectAtIndex:row];

}
-(IBAction)killkeyBoard:(id)sender
{
    [textfield resignFirstResponder];
}

我已经检查过了。它很好用

下面是代码

#import "pickerViewController.h"

@implementation pickerViewController
@synthesize textfield,picker,pickerarray,btn;
- (void)dealloc
{
    [super dealloc];
    [picker release];
    [textfield release];
    [pickerarray release];
    [btn release];
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
    [super viewDidLoad];
    textfield.delegate=self;
    picker.delegate=self;
    picker.dataSource=self;
    picker.showsSelectionIndicator=YES;
    pickerarray=[[NSMutableArray alloc]init];

}


-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [pickerarray count];
}

-(void)textFieldDidEndEditing:(UITextField *)textField
{
    textfield.delegate=self;
    [pickerarray addObject:textField.text];

    [picker reloadAllComponents];

    NSLog(@"%@",pickerarray);
}

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


    return [pickerarray objectAtIndex:row];

}
-(IBAction)killkeyBoard:(id)sender
{
    [textfield resignFirstResponder];
}

非常感谢。那帮了大忙!非常感谢。那帮了大忙!