Ok поэтому я попытаюсь объяснить это:
Вы объявляете 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;
}
Затем вы объявляете DataSource из UIPickerView:
- (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
от TextView
.
//This is an action connected to the button which will present the ActionController
- (IBAction)addFriend:(id)sender {
view = [UIAlertController alertControllerWithTitle:@"Add Friend" message:@"Write the friend to add"preferredStyle:UIAlertControllerStyleAlert];
[view addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.placeholder = @"Friend";
textField.delegate = self;
textField.tag = 01;
}];
[self presentViewController:view animated:YES completion:nil];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
if(textField.tag == 01){
[array insertObject:textField.text atIndex:array.count];
[view dismissViewControllerAnimated:YES completion:^{
[self.pickerView reloadAllComponents];
}];
return YES;
}
return YES;
}
Это более или менее то, что вы можете сделать, я был самым конкретным я мог бы быть, потому что вы сказали, вы новичок.
Надеюсь, что это поможет.
спасибо за подробный ответ! Это именно то, что я искал. Прежде чем я попытался сохранить нового друга с помощью 'UIAlertAction'. Ваш метод намного проще. Еще раз спасибо. – njyulan