я пытаюсь использовать этот пакет:Как передать данные из формы FormSeetController в ViewController?
https://github.com/m1entus/MZFormSheetController
теперь мой вопрос, я пытаюсь передать данные между FormSeetController к ViewController после я уволить formSheet.
здесь то, что я пытался до сих пор: в ViewController в кнопке, которая CREAT форму:
formSheet.didDismissCompletionHandler = ^(UIViewController *vc){
// maybe i can use UIViewController *vc as my SearchGardenView (form Sheet), but how?
[self formSheetDidDismissed]; // here i tryin to get the kidGardenID but its always nil;
};
и это в от FormSeetController:
AddKid *kid = [[AddKid alloc]init];
NSArray *temp = [_responseDict valueForKey:@"ID"];
kid.kidGardenID = [temp objectAtIndex:indexPath.row];
[self mz_dismissFormSheetControllerAnimated:YES completionHandler:^(MZFormSheetController *formSheetController) {
//this block dismiss the formSheet.
}];
им необходимо пройти «kidGardenID» для ViewController, но всегда он равен нулю, даже после того, как я дал ему значение, как показывает код выше. возможно потому, что ViewController уже загружен, и когда я вернулся из fortSheet, он снова не загружается?
Мне нужно найти способ передать эти данные, не могли бы вы мне помочь?
EDIT Я попытался использовать делегата с успехом, делегат не вызывается. вот мой делегат код:
установки делегата (ViewControllerB)
@class SearchGardenTable;
@protocol SearchGardenDelegate <NSObject>
- (void)addItemViewController:(SearchGardenTable *)controller didFinishWithGardenID:(NSString *)gardenID gardenName:(NSString*)gardenName andCityName:(NSString*)cityName;
@end
@interface SearchGardenTable : UITableViewController
@property (nonatomic, weak) id <SearchGardenDelegate> delegate;
@end
говорить VC B, что VC А его представитель:
self.searchGarden.delegate = self; // in VC A viewDidLoad.
настройки параметров я хочу передать обратно от VC B до VC A:
_kidGaedenID = [temp objectAtIndex:indexPath.row];
_kidGardenName = [temp1 objectAtIndex:indexPath.row];
[self.delegate addItemViewController:self didFinishWithGardenID:_kidGaedenID gardenName:_kidGardenName andCityName:_kidCityName];
реализовать метод протокола a т VC A:
- (void)addItemViewController:(SearchGardenTable *)controller didFinishWithGardenID:(NSString *)gardenID gardenName:(NSString*)gardenName andCityName:(NSString*)cityName
{
_kidGardenID = gardenID;
_gardenName.text = gardenName;
_kidCity.text = cityName;
}
Заключительное приложение из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [MZNavigationView kidGaedenID]: непризнанный селектор, отправленный в экземпляр 0x10e1907f0' – OshriALM