0

Ma classe parent ViewController contient un UISearchBar. J'ai un UIButton qui va pousser sur un nouveau ViewController via le code ci-dessousTransmettre un NSString de Child à Parent pour ModalViewController

AddViewController *addViewController = [[AddViewController alloc] initWithNibName:@"AddView" bundle:nil]; 
[self presentModalViewController:addViewController animated:YES]; 
[addViewController release]; 

Dans le AddViewController l'utilisateur est présenté avec un TableView des noms d'animaux. Sur le

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

J'extraire le nom de l'animal et le stocker dans un NSString. Je rejette alors la AddViewController par

[self dismissModalViewControllerAnimated:YES]; 

Ma question est comment puis-je passer le nom de l'animal NSString au parent ViewController de AddViewController? Je tente de placer le nom de l'animal dans le UISearchBar

Répondre

1

Vous auriez besoin de créer un délégué.

http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html

Ceux-ci vous permettent de communiquer avec le contrôleur de vue parent, et dans votre cas, passez une variable.

+0

I Je ne dirais pas "besoin de" - c'est une façon que vous * pourriez * cependant. :-) –

+0

Il n'y a pas d'autre moyen de le faire proprement. Si plusieurs variables devaient être transmises, l'utilisation d'un délégué serait la meilleure solution. –

+0

Grand matériel de référence. Cela m'a aidé à résoudre mon problème – aahrens

0

Vous pouvez créer une propriété dans le contrôleur de vue parent que vous pouvez ensuite mettre à jour de l'enfant en appelant

self.parentViewController.searchBarText = animalNameString; 

Lorsque l'enfant est rejeté, définissez le texte UISearchBar dans viewWillAppear du parent méthode

Questions connexes