Создание другого контроллера представления, вероятно, будет самым простым способом в долгосрочной перспективе. Вы можете представить его модально, позвонив по номеру
SomeViewController* theViewController = [[SomeViewController alloc] init];
[self presentModalViewController: theViewController animated: YES];
[theViewController release];
Когда theViewController готов уйти, он может вызвать
[[self parentViewController] dismissModalViewControllerAnimated: YES];
OR
вы можете настроить протокол для вашего нового контроллера представления, чтобы он мог уведомить ваш исходный контроллер представления о завершении и отправить значение обратно, если вы хотите вернуть NSString, вы можете использовать
@protocol MyViewControllerDelegate
- (void)myViewControllerDelegate: (MyViewController*)myViewController didFinishWithValue: (NSString*)theString;
@end
В таком случае MyViewController будет иметь свойство делегата
@interface MyViewController
{
id<MyViewControllerDelegate> delegate;
}
@property(nonatomic,assign) id<MyViewControllerDelegate> delegate;
@end
Если вы используете метод протокола, ваш первоначальный контроллер представления примет этот протокол и сам отклонит модальное представление, когда получит это сообщение.
Надеюсь, это поможет, поначалу это может показаться немного сложным, но очень упрощает сбор данных.