Pasa los datos de vuelta al controlador de vista anterior
Estoy tratando de pasar datos VOLVER A la vista anteriorController.
¿Alguien sabe cómo devolver los datos de ViewController B a ViewController A? Así que quiero que una cadena pase de BIDAddTypeOfDealViewController a BIDDCCreateViewController. Un usuario edita viewController B y quiero que los datos editados vuelvan a aparecer en ViewController A, donde luego los uso.
Estoy usando la sección de 'pasar datos de vuelta' deesta respuesta. En qué se diferencia el mío: los puntos 3 y 6 solo mencionan cuándo se muestran las vistas, por lo que he puesto ese código en la vista "Desaparecerá". Creo que eso es correcto? También en el punto 6 no inicialicé con la punta ya que es antigua. Estoy usando guiones gráficos. Y no agregué esa última línea ya que no creo que tuviera que empujarla. Presionar un botón en mi guión gráfico ya me hace avanzar.
Creo que el problema puede surgir en BIDDCCreateViewController, tengo el método pero no puedo ejecutarlo. Para ejecutar un método debe ir [método propio]. No puedo hacer eso. Bueno, eso es justo lo que estoy adivinando.
Se compila y funciona bien, simplemente no se registra nada, así que no sé si funciona.
ACTUALIZACIÓN: No puedo obtener el método 'sendDataToA' para ejecutar.
#import <UIKit/UIKit.h>
#import "BIDAddTypeOfDealViewController.h"
@interface BIDDCCreateViewController : UIViewController
@property (strong, nonatomic) NSString *placeId;
- (IBAction)gotoBViewController:(id)sender;
@end
#import "BIDDCCreateViewController.h"
#import "BIDAddTypeOfDealViewController.h"
@implementation BIDDCCreateViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"SUCCESSFULLY PASSED PLACE ID: %@", self.placeId);
}
-(void)sendDataToA:(NSString *)myStringData
{
NSLog(@"Inside sendDataToA");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Your string Data Showing" message:myStringData delegate:self cancelButtonTitle:@"Ok " otherButtonTitles:nil];
[alert show];
}
- (IBAction)gotoBViewController:(id)sender {
NSLog(@"pressed");
BIDAddTypeOfDealViewController *bidAddType = [[BIDAddTypeOfDealViewController alloc]init];
bidAddType.delegate = self;
}
@end
@protocol senddataProtocol <NSObject>
-(void)sendDataToA:(NSString *)myStringData;
@end
#import <UIKit/UIKit.h>
@interface BIDAddTypeOfDealViewController : UIViewController <UITextFieldDelegate>//Using this delegate for data a user inputs
@property(nonatomic,assign)id delegate;
//other textfield outlets not relevant
- (IBAction)chooseDiscountDeal:(id)sender;
@end
#import "BIDAddTypeOfDealViewController.h"
@interface BIDAddTypeOfDealViewController ()
@end
@implementation BIDAddTypeOfDealViewController
@synthesize delegate;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
-(void)viewWillDisappear:(BOOL)animated
{
[delegate sendDataToA:@"Apple"];
}
@end