Objekte einer anderen klasse importieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Objekte einer anderen klasse importieren

    Hallo,


    Erstmal, ich bin noch ein ziemlich Anfänger in Objekt c sowie Xcode deswegen wäre es nett wenn ihr die antworten auch entsprechend formulieren würdet


    Ich bing Grade dabei, eine App zu schreiben ( es handelt sich um eine Utility App fürs iphone also eine mit nem Info Button der zum zweiten view leitet) die auf der ersten Seite ein Webview hat, dessen URL sich auf der Rückseite durch Eingabe in ein Textfield ändern lässt.
    Bisher funktioniert auch alles, bis auf das die Eingabe die URL ändert.
    Ich verstehe nämlich nicht so ganz wie man von einer klasse auf ein Objekt ( nsstring) in einer anderen klasse zugreifen kann.
    Kann mir das jemand erklären oder einen code schreiben indem der Import von einem nsstring erfolgt und hier Posten ?
    Was ich bisher durch googlen rausgefunden habe ist das man properties benutzen muss also
    Mainview.h
    @property (nonatomic, assign) NSString* meinString;
    - (Nsstring*) meinString;
    - (void) setmeinString:(Nsstring*)meinString;


    Mainview.m
    @synthesize meinString


    Und dann kann man wohl in die Mainview.m Datei unter viewdidload reinschreiben :


    [meinString setMeinString:@"https://www.google.de/?source=mog&hl=de&gl=de&client=safari&tab=ww"];


    Dann kommt diese ewig lange Webview Anweisung bei dem ich einfach meinString anstatt der URL schreibe.


    So und jetzt muss man ja dieses Objekt erstmal importieren also oben in die flisideviewcontroller.h:


    #import Mainview.h


    Außerdem muss man ein Objekt erstellen mit dem Namen der importierten klasse damit sich die klasse das merkt


    Nachdem das mit der <klasse > und so kommt
    {
    Mainview * mainview;
    }


    Und genau wenn ich das da oben ( die 3 Zeilen über mir) mache gibt es ein error und das Programm lässt sich nichtmehr starten
    Folgender error kommt : Unknown type name 'Mainview'; did you mean '(Irgendwas mit UIVIEW)'?
    Wie auch hier beschrieben :
    stackoverflow.com/questions/8588 ... mean-class
    Allerdings verstehe ich die Tipps die da gegeben werden nicht und hoffe das mit das jeman hier erklären kann
    Woran liegt es ?


    Hoffe ihr könnt mir weiterhelfen


    Gruß johannes

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jlk ()

  • Kann mir nicht einfach jemand sagen was ich falsch mache und korrigieren ?

    Hier der Code :

    Quellcode

    1. // MainViewController.h
    2. // BrowserApp
    3. #import "FlipsideViewController.h"
    4. @interface MainViewController : UIViewController <FlipsideViewControllerDelegate>
    5. @property (weak, nonatomic) IBOutlet UIWebView *webView;
    6. @property (nonatomic, assign) NSString* meinString;
    7. - (NSString*) meinString;
    8. - (void) setMeinString:(NSString*)meinString;
    9. @end
    Alles anzeigen

    Quellcode

    1. //// MainViewController.m
    2. // BrowserApp
    3. #import "MainViewController.h"
    4. @interface MainViewController ()
    5. @end
    6. @implementation MainViewController
    7. @synthesize webView;
    8. @synthesize meinString;
    9. - (void)viewDidLoad
    10. {
    11. meinString = @"https://www.google.de/?source=mog&hl=de&gl=de&client=safari&tab=ww";
    12. [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:meinString]]];
    13. [super viewDidLoad];
    14. [super viewDidLoad];
    15. // Do any additional setup after loading the view, typically from a nib.
    16. }
    17. - (void)viewDidUnload
    18. {
    19. [self setWebView:nil];
    20. [super viewDidUnload];
    21. // Release any retained subviews of the main view.
    22. }
    23. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    24. {
    25. return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    26. }
    27. #pragma mark - Flipside View
    28. - (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller
    29. {
    30. [self dismissModalViewControllerAnimated:YES];
    31. }
    32. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    33. {
    34. if ([[segue identifier] isEqualToString:@"showAlternate"]) {
    35. [[segue destinationViewController] setDelegate:self];
    36. }
    37. }
    38. @end
    Alles anzeigen


    Quellcode

    1. //// FlipsideViewController.h
    2. // BrowserApp
    3. #import <UIKit/UIKit.h>
    4. #import "MainViewController.h"
    5. @class FlipsideViewController;
    6. @protocol FlipsideViewControllerDelegate
    7. - (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
    8. @end
    9. @interface FlipsideViewController : UIViewController
    10. {
    11. MainViewController* main;
    12. }
    13. @property (weak, nonatomic) id <FlipsideViewControllerDelegate> delegate;
    14. - (IBAction)done:(id)sender;
    15. @property (strong, nonatomic) IBOutlet UITextField *textField; // hier gibt man die neue Url ein
    16. @property (weak, nonatomic) IBOutlet UIButton *changeButton; // gibt den Befehl zum ändern
    17. @end
    Alles anzeigen


    Quellcode

    1. //// FlipsideViewController.m
    2. // BrowserApp
    3. #import "FlipsideViewController.h"
    4. @interface FlipsideViewController ()
    5. @end
    6. @implementation FlipsideViewController
    7. @synthesize textField;
    8. @synthesize changeButton;
    9. - (void)viewDidLoad
    10. {
    11. [super viewDidLoad];
    12. // Do any additional setup after loading the view, typically from a nib.
    13. }
    14. - (void)viewDidUnload
    15. {
    16. [self setTextField:nil];
    17. [self setChangeButton:nil];
    18. [super viewDidUnload];
    19. // Release any retained subviews of the main view.
    20. }
    21. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    22. {
    23. return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    24. }
    25. #pragma mark - Actions
    26. - (IBAction)done:(id)sender
    27. {
    28. [self.delegate flipsideViewControllerDidFinish:self];
    29. }
    30. @end
    Alles anzeigen



    Gruß Johannes
  • Jlk schrieb:

    Kann mir nicht einfach jemand sagen was ich falsch mache und korrigieren ?

    Solche Fragen fuehren einfach zu extremer Frustration, weil sie immer wieder kommen und absolut unnoetig waeren, wenn sich der Fragende wirklich mehr mit dem Thema beschaeftigt haette.

    Das ist etwa wie wenn jemand einfach anfaengt, Poker zu spielen, ohne auch nur die Regeln vorher sich mal angeschaut zu haben, und dann immer in ein Forum rennt und sagt "Ich hatte X und Y und die haben mir gesagt ich hab verloren, warum?" Und jetzt stell Dir solche Fragen taeglich vor, da haben dann sogar die freundlichsten Pokerspieler keine Lust mehr, weiter zu helfen.

    EDIT Und dann kommt am Besten noch sowas wie "Ich hab mir aber schonmal auf YouTube angeschaut, wie zwei Chinesen Poker gespielt haben!"
    C++