Parameter an eine neue View übergeben

  • Parameter an eine neue View übergeben

    Hi,

    ich öffne mir eine neue View , dabei übergebe ich verschiedene Parameter.

    PHP-Quellcode

    1. if ([[segue identifier] isEqualToString:@"dropDown"]) {
    2. DropDownMenuViewController *dropDownMenuViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DropDown"];
    3. NSLog(@"Link: %@ \n email: %@ \n Betreff: %@",link,email,titleHeadline);
    4. [dropDownMenuViewController link:link withTo:email withBetreff:titleHeadline];
    5. action = [sender action];
    6. target = [sender target];
    7. [sender setTarget:self];
    8. [sender setAction:@selector(dismiss:)];
    9. self.vpopover = [(UIStoryboardPopoverSegue *)segue popoverController];
    10. self.vpopover.delegate = self;
    11. }
    Alles anzeigen



    In der neuen View rufe ich folgende Methode dann auf.

    PHP-Quellcode

    1. - (void)link:(NSString *)linkAdr withTo:(NSString *)empfaenger withBetreff:(NSString *)betreffText
    2. {
    3. self.to = empfaenger;
    4. NSLog(@"to: %@ \n empfänger: %@",to,empfaenger);
    5. self.link = linkAdr;
    6. NSLog(@"link: %@ \n linkAdränger: %@",link,linkAdr);
    7. self.betreff = betreffText;
    8. NSLog(@"betreff: %@ \n empfbetreffTextnger: %@",betreff,betreffText);
    9. }
    Alles anzeigen


    Bis hier hin bekomme ich auch über NSLog immer alles schön ausgegeben. Wenn ich nun aber die Parameter später für was andere verwende Bsp:

    PHP-Quellcode

    1. - (IBAction)perEmailSenden:(id)sender {
    2. NSLog(@"perEMail senden Link: %@",self.link);
    3. NSLog(@"perEMail senden Betreff: %@",self.betreff);
    4. NSString *body = [NSString stringWithFormat:@"Hallo, \n\n ich habe gerade folgende interresante Information gefunden. \n\n <a href=\"%@\"> %@</a>",self.link,self.betreff];
    5. NSString *path = [NSString stringWithFormat:@"mailto:?subject=%@&body=%@", self.betreff, body];
    6. NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    7. [[UIApplication sharedApplication] openURL:url];
    8. }
    Alles anzeigen



    Hier bekomme ich nur Null raus. Ich verstehe nur nicht wieso, fehlt euch irgendwo was auf?

    Achja die h Datei auch mal zeigen:

    PHP-Quellcode

    1. @interface DropDownMenuViewController : UIViewController{
    2. NSString *to;
    3. NSString *betreff;
    4. NSString *text;
    5. NSString *link;
    6. }
    7. @property(nonatomic,retain)NSString *to;
    8. @property(nonatomic,retain)NSString *betreff;
    9. @property(nonatomic,retain)NSString *text;
    10. @property(nonatomic,retain)NSString *link;
    Alles anzeigen
  • Eben gar nicht, erst in der ViewDidUnload. Deswegen versteh ich das ja nicht.

    PHP-Quellcode

    1. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
    2. - (void)viewDidLoad
    3. {
    4. [super viewDidLoad];
    5. }
    6. - (void)viewDidUnload
    7. {
    8. [super viewDidUnload];
    9. // Release any retained subviews of the main view.
    10. // e.g. self.myOutlet = nil;
    11. self.to = nil;
    12. self.link = nil;
    13. self.betreff = nil;
    14. }
    15. -(void)viewWillAppear:(BOOL)animated{
    16. [super viewWillAppear:animated];
    17. }
    18. -(void)viewDidAppear:(BOOL)animated{
    19. [super viewDidAppear:animated];
    20. }
    Alles anzeigen
  • mal mit setter/Getter Methoden probiert ?


    Wie syntesierst Du Deine Propertys ? Ich würde es mal so probieren: @synthesize to = _to; usw... ;


    Grüße
    Auch Entwickler entwickeln sich !

    "Die Menschen, die verrückt genug sind zu denken, sie würden die Welt verändern, sind diejenigen, die es tun werden." - Steve Jobs