L'envoi de données à partir d'un ViewController à l'autre.

J'ai deux ViewController:

1) ViewController

2) TestAppViewController

Dans ViewController.h, je définir une étiquette, dont le texte que je veux être envoyés à partir de la deuxième viewController, j'.e `TestAppViewController.

Pour cela, j'ai défini un @property NSString * dans ViewController.h, et créé un objet de cette ViewController dans ma deuxième manette.
Ensuite adopté une valeur pour cette propriété, mais sna est encore à venir néant.

Voici mon code :

@property (nonatomic, retain) NSString *lableName;*

ViewController

#import "ViewController.h
#import "TestAppView1.h"
#import "TestAppViewController2.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    //Do any additional setup after loading the view, typically from a nib.
    //   [self addView1];
}

- (void)viewWillAppear:(BOOL)animated
{ 
    [self addView1];

    NSLog(@"Label name is %@",self.lableName);
}    

- (void)didReceiveMemoryWarning
{
   [super didReceiveMemoryWarning];
   //Dispose of any resources that can be recreated.
}

- (void)addView1
{
    TestAppView1 *testAppView1Obj = [ [TestAppView1 alloc]        initWithFrame:self.view.bounds];

    [testAppView1Obj setDelegate:self];
    [testAppView1Obj setSelectorOnButtonTapped:@selector(buttonTapped)];

    [self.view addSubview:testAppView1Obj];
}

 -(void)buttonTapped
 {

    TestAppViewController2 *testAppViewController2Obj =[[TestAppViewController2    alloc]initWithNibName:@"TestAppViewController2" bundle:nil];

    [self.navigationController pushViewController:testAppViewController2Obj animated:YES];
 }

 @end

ViewController2

#import "TestAppViewController2.h"
#import "TestAppView2.h"
#import "ViewController.h"

@interface TestAppViewController2 ()

@end

@implementation TestAppViewController2

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        //Custom initialization
    }
    return self;
}

-(void)viewWillAppear:(BOOL)animated
{
    [self addView2];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    //Do any additional setup after loading the view.
}



- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    //Dispose of any resources that can be recreated.
}

-(void)addView2
{
    TestAppView2 *testAppView2Obj =[ [TestAppView2 alloc]initWithFrame:self.view.bounds];

    [testAppView2Obj setDelegate:self];
    [testAppView2Obj setSelectorOnBackButton:@selector(callbackButtonTapped)];
    [self.view addSubview:testAppView2Obj];
}

-(void)callbackButtonTapped
{

    ViewController *viewControllerObj = [[ViewController alloc]init];

     viewControllerObj.lableName=@"Yogesh";    
     [self.navigationController popViewControllerAnimated:YES];


}

@end

Lorsque j'essaie d'imprimer les valeurs dans NSLog, il me donne le néant.

  • stackoverflow.com/questions/15401852/...
  • Je suggère d'utiliser (forte, nonatomic) si vous utilisez l'arc ainsi
  • passer à travers init ou de l'utilisation délégué
  • Assurez-vous que vous avez mis en œuvre correctement.Vous êtes attribution d'un nouveau point de vue du contrôleur et de la pop de la pile.Le code n'est pas effacée.Dans votre callbackbuttontapped qu'est-ce que l'utilisation de l'attribution de ce point de vue que vous n'êtes pas l'utilisation de ce. Au lieu de pop pousser la vue pour voir les effets.
  • - vous m'aider en montrant un exemple d'utilisation de délégué.. pour envoyer des valeurs entre les contrôleurs de
  • suis tryin pour envoyer des données à l'aide de popViewController... pour ce que j'ai à travailler avec les délégués.. merci de me donner des infos détaillées sur que
  • Cela fonctionne parfaitement utiliser le code à partir du lien stackoverflow.com/questions/5210535/...

InformationsquelleAutor yogesh | 2013-09-02