我有一个UIPickerView
从
friends = [NSArray arrayWithObjects: @"jim", @"joe", @"anne", nil];
我在选择器下面有一个按钮,可以将新朋友添加到选择器中。
按下按钮时,弹出UIAlertController
,用户可以输入新的朋友姓名。我可以将文本保存为字符串,但我无法将其添加到数组中。我也试过使用NSMutableArray
。
我是新手,所以所有输入都会很棒。我已经看过类似的问题寻求帮助,但没有任何效果。
谢谢!
答案 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
这或多或少是你可以做的,我是最具体的,因为你说你是一个初学者。
希望它有所帮助。