detail.TextLabel mit mehreren Ausdrücken

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

  • detail.TextLabel mit mehreren Ausdrücken

    Hallo,

    ich habe mir eine kleine App zusammen geschrieben. Diese liest aus einem Webservice in json Daten aus.

    Diese gebe ich auf einem einfachen SingelView wieder.

    Den TableView habe ich zweizeilig eingestellt also mit Subtitel.

    Ich habe im Titel sowie im Subtitel etwas stehen. Der Titel ist das Datum und der Subtitel die Temperatur.

    Ich würde nun gerne noch in den Subtitel die Feuchte sowie die Bemerkung aus dem Json Array schreiben lassen.

    Kann ich das irgendwie in einen String packen? Am liebsten wäre mit sowas:

    cell.detailTextLabel.text = [info objectForKey:"Temp: "@"Temperatur", "Feuchte: ",@"Feuchte" ,"Bem: ",@"Bemerkung"];


    Das hier ist mein TabelleView.m

    Quellcode

    1. //
    2. // TableViewController.m
    3. // TabellenSicht
    4. //
    5. // Created by
    6. // Copyright (c) 2014
    7. //
    8. #import "TableViewController.h"
    9. // @interface TableViewController ()
    10. // @end
    11. @implementation TableViewController
    12. - (id)initWithStyle:(UITableViewStyle)style
    13. {
    14. self = [super initWithStyle:style];
    15. if (self) {
    16. // Custom initialization
    17. }
    18. return self;
    19. }
    20. -(void) getData:(NSData *) data{
    21. NSError *error;
    22. json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    23. [self.tableView reloadData];
    24. }
    25. -(void) start {
    26. NSURL *url = [NSURL URLWithString:kGetUrl];
    27. NSData *data = [NSData dataWithContentsOfURL:url];
    28. [self getData:data];
    29. }
    30. - (void)viewDidLoad
    31. {
    32. [super viewDidLoad];
    33. NSTimer *myTimer = [NSTimer timerWithTimeInterval:5.0 target:self selector:@selector(start) userInfo:nil repeats:YES];
    34. [[NSRunLoop mainRunLoop] addTimer:myTimer forMode:NSDefaultRunLoopMode];
    35. [self start];
    36. }
    37. - (void)didReceiveMemoryWarning
    38. {
    39. [super didReceiveMemoryWarning];
    40. // Dispose of any resources that can be recreated.
    41. };
    42. #pragma mark - Table view data source
    43. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    44. {
    45. // Return the number of sections.
    46. return 1;
    47. }
    48. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    49. {
    50. // Return the number of rows in the section.
    51. return [json count];
    52. }
    53. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    54. {
    55. static NSString *CellIdentifier = @"Cell";
    56. UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    57. if (cell == nil) {
    58. cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    59. }
    60. NSDictionary *info = [json objectAtIndex:indexPath.row];
    61. cell.textLabel.text = [info objectForKey:@"Datum"];
    62. cell.detailTextLabel.text = [info objectForKey:@"Temperatur"];
    63. // cell.detailTextLabel2.text = [info objectForKey:@"Feuchte"];
    64. return cell;
    65. }
    66. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    67. {
    68. // Navigation logic may go here. Create and push another view controller.
    69. /*
    70. <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
    71. // ...
    72. // Pass the selected object to the new view controller.
    73. [self.navigationController pushViewController:detailViewController animated:YES];
    74. */
    75. }
    76. @end
    Alles anzeigen


    Danke schon mal Gruß Matthias

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von matze1708 ()

  • Ich hab das jetzt nicht getestet und ich hab auch schon 5 Bier drin und mich von einer Familienfeier "weggestohlen" ;)

    Probier mal:

    Quellcode

    1. NSString *subTitle = [NSString stringWithFormat:@"Temperatur: %@, Feuchte: %@",[info objectForKey:@"Temperatur"],[info objectForKey:@"Feuchte"]];
    2. cell.detailTextLabel.text = subTitle;
    Ich bin gegen Signaturen!!!
  • Hallo,

    ja bei mir wäre das schon ein größeres Problem bei der Menge. Aber es hat super geklappt. Habe mir noch eins zwei Dinge zwecks Verständnis zusammen gegooglet.

    Ich würde gerne noch das Datum

    Quellcode

    1. ​cell.textLabel.text = [info objectForKey:@"Datum"];


    in ein anderes Format bringen.

    Das kommt aus der Datenbank in Form von 2014-08-21 ....
    Hätte aber gern das normale 21.08.2014
  • matze1708 schrieb:

    Hallo,

    ja bei mir wäre das schon ein größeres Problem bei der Menge. Aber es hat super geklappt. Habe mir noch eins zwei Dinge zwecks Verständnis zusammen gegooglet.

    Ich würde gerne noch das Datum

    Quellcode

    1. ​cell.textLabel.text = [info objectForKey:@"Datum"];


    in ein anderes Format bringen.

    Das kommt aus der Datenbank in Form von 2014-08-21 ....
    Hätte aber gern das normale 21.08.2014


    Schau Dir mal den developer.apple.com/library/ma…/Reference/Reference.html an
    Ich bin gegen Signaturen!!!
  • Hallo,

    ich habe es mal so versucht:

    Quellcode

    1. NSDateFormatter * dateformatter = [[NSDateFormatter alloc]init];
    2. [dateformatter setDateFormat:@"dd.mm.yyyy"];
    3. cell.textLabel.text = [dateformatter stringFromDate:[info objectForKey:@"Datum"]];


    Bekomme aber keine Ausgabe auf dem Textlabel