如何从UIAlertController向UIPickerView添加行

时间:2015-06-12 22:24:13

标签: iphone uipickerview uialertcontroller

我有一个UIPickerView

中定义的数组中获取数据
friends = [NSArray arrayWithObjects: @"jim", @"joe", @"anne", nil];

我在选择器下面有一个按钮,可以将新朋友添加到选择器中。 按下按钮时,弹出UIAlertController,用户可以输入新的朋友姓名。我可以将文本保存为字符串,但我无法将其添加到数组中。我也试过使用NSMutableArray

我是新手,所以所有输入都会很棒。我已经看过类似的问题寻求帮助,但没有任何效果。

谢谢!

1 个答案:

答案 0 :(得分:1)

好的,我会尝试解释一下:

您声明NSMutbleArray,您不能期望使用NSArray,因为它不可变,您需要修改内容。

    NSMutableArray *array;
    UIAlertController * view;
    @implementation ViewController


    - (void)viewDidLoad {
        [super viewDidLoad];
        NSArray* friends = [NSArray arrayWithObjects: @"jim", @"joe", @"anne", nil];
        array = [NSMutableArray arrayWithArray:friends];
// I added a UIPickerView in the StoryBoard, connected it to a property and the delegates and datasources.
        self.pickerView.delegate = self;
    }

然后声明UIPickerView的dataSource:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{

    return 1;

}

// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{

    return array.count;

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

    return array[row];

}

那么,你提出你的UIAlertController,在这种情况下,我会在Return的{​​{1}}中将其解雇。

TextView

这或多或少是你可以做的,我是最具体的,因为你说你是一个初学者。

希望它有所帮助。