Hallo,
da ich relativ neu bin in der Objektiv-C Programmiersprache habe ich ein paar Verständnis Fragen:
Ich habe eine kleine App die mir aus einem MySql Server mittels Webservices Daten in die App in Form von Json liefert.
Ich habe das ganze auf einem Tabbed View Controller. Eine Seite zum Daten schreiben eine und das ist ein UiTabellView dort werden die Daten aus dem Webservice gezeigt.
ich habe mir nun auf der ebene des UItabellView eine Navigation Controller angelegt und noch einen uiViewcontroller hinter den TableView angelegt.
Die Spalte vom TableView habe ich mit dem ViewController verbunden per Push.
Auf dem neuen ViewController habe ich drei Labels und ein Textfeld für die Daten angelegt und diese auch mit den Outlets verbunden.
Dann habe ich noch diese .h und.m Dateien für den neuen View angelegt.
in der .h Datei habe ich die Labels und Textfelder deklariert.
In der .m Datei von dem TableView habe ich die .h Datei des DetailViewController importiert.
Meine Daten bekomme ich aus der Json Datei wie folgt:
Alles anzeigen
Dann habe ich beim googlen noch diverse Dinge gefunden, diesen Code hier z.B. der stand schon in meiner .m Datei drin.
Das scheint mir etwas damit zutun zuhaben.
Aber was muss ich nun noch machen um die Daten tatsächlich auf den DetailViewController zubekomme.
Vielen Dank für Eure Hilfe.
Gruß Matthias
da ich relativ neu bin in der Objektiv-C Programmiersprache habe ich ein paar Verständnis Fragen:
Ich habe eine kleine App die mir aus einem MySql Server mittels Webservices Daten in die App in Form von Json liefert.
Ich habe das ganze auf einem Tabbed View Controller. Eine Seite zum Daten schreiben eine und das ist ein UiTabellView dort werden die Daten aus dem Webservice gezeigt.
ich habe mir nun auf der ebene des UItabellView eine Navigation Controller angelegt und noch einen uiViewcontroller hinter den TableView angelegt.
Die Spalte vom TableView habe ich mit dem ViewController verbunden per Push.
Auf dem neuen ViewController habe ich drei Labels und ein Textfeld für die Daten angelegt und diese auch mit den Outlets verbunden.
Dann habe ich noch diese .h und.m Dateien für den neuen View angelegt.
in der .h Datei habe ich die Labels und Textfelder deklariert.
Quellcode
- @interface SecondTableDetailViewController : UIViewController
- @property (nonatomic, strong) IBOutlet UILabel *DetailDatum;
- @property (nonatomic, strong) IBOutlet UILabel *DetailTemperatur;
- @property (nonatomic, strong) IBOutlet UILabel *DetailFeuchte;
- @property (nonatomic, strong) IBOutlet UITextView *DetailBemerkung;
- @end
In der .m Datei von dem TableView habe ich die .h Datei des DetailViewController importiert.
Meine Daten bekomme ich aus der Json Datei wie folgt:
Quellcode
- -(void) getData:(NSData *) data{
- NSError *error;
- json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
- [self.tableView reloadData];}
- -(void) start {
- NSURL *url = [NSURL URLWithString:kGETUrl];
- NSData *data = [NSData dataWithContentsOfURL:url];
- [self getData:data];}
- - (void)viewDidLoad{
- [super viewDidLoad];
- NSTimer *myTimer = [NSTimer timerWithTimeInterval:5.0 target:self selector:@selector(start) userInfo:nil repeats:YES];
- [[NSRunLoop mainRunLoop] addTimer:myTimer forMode:NSDefaultRunLoopMode];
- [self start];}
- - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
- // Return the number of sections.
- return 1;}
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
- // Return the number of rows in the section.
- return [json count];}
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
- static NSString *CellIdentifier = @"Cell";
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
- if (cell == nil) {
- cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];}
- NSDictionary *info = [json objectAtIndex:indexPath.row];
- NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
- [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
- NSDate *date = [dateFormatter dateFromString:[info objectForKey:@"Datum"]];
- [dateFormatter setDateFormat:@"dd.MM.yyyy HH:mm"];
- NSString *subtitel =[NSString stringWithFormat:@"Temperatur: %@ °C,Feuchte: %@ %%",[info objectForKey:@"Temperatur"],[info objectForKey:@"Feuchte"]];
- cell.textLabel.text = [dateFormatter stringFromDate:date];
- cell.detailTextLabel.text = subtitel;
- return cell;}
Dann habe ich beim googlen noch diverse Dinge gefunden, diesen Code hier z.B. der stand schon in meiner .m Datei drin.
Quellcode
- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
- // Navigation logic may go here. Create and push another view controller.
- /*
- <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
- // ...
- // Pass the selected object to the new view controller.
- [self.navigationController pushViewController:detailViewController animated:YES];
- */
- }
Das scheint mir etwas damit zutun zuhaben.
Aber was muss ich nun noch machen um die Daten tatsächlich auf den DetailViewController zubekomme.
Vielen Dank für Eure Hilfe.
Gruß Matthias