array sortieren

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

  • array sortieren

    hi

    ich möchte mein array sortieren:

    Quellcode

    1. weg = [NSString stringWithFormat:@"%.2f km", entfernung]
    2. wegsorted = [news sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"Altitude" ascending:YES]]];
    3. news = wegsorted;


    irgendwie funktionierts nicht richtig, kann mir da jemand helfen?

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

  • appdeveloper schrieb:

    ja genau, aber das hab ich schon probiert. dann funktionierts mit

    Quellcode

    1. cell.detailTextLabel.text = ...
    nicht.

    Dann wandelst Du die Zahl an dieser Stelle in eine Zeichenkette um. Ungefähr so, wie Du es in Deinem ersten Beitrag gemacht hast.

    Quellcode

    1. cell.detailTextLabel.text = [NSString stringWithFormat:@"%.2f km", ...];
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    appdeveloper schrieb:

    ja genau, aber das hab ich schon probiert. dann funktionierts mit

    Quellcode

    1. cell.detailTextLabel.text = ...
    nicht.

    Dann wandelst Du die Zahl an dieser Stelle in eine Zeichenkette um. Ungefähr so, wie Du es in Deinem ersten Beitrag gemacht hast.

    Quellcode

    1. cell.detailTextLabel.text = [NSString stringWithFormat:@"%.2f km", ...];


    danke, die Ausgabe funktioniert aber die Sortierung nicht:

    Quellcode

    1. cell.detailTextLabel.text = [NSString stringWithFormat:@"%.2f km", [[news objectAtIndex:indexPath.row] objectForKey:@"Altitude"]];
  • gritsch schrieb:

    das ist auch recht skuril:

    wegsorted = //neus, sortiertes array erstellen
    news = wegsorted;

    ist es nicht ein mutablearray? dann könntest du das gleich sortieren und nicht ein neues erstellen etc.

    ansonsten verwende den setter und schick dem view ein reloadData



    ich kann ein mutablecopy machen. Dann hätte ich ein NSMutableArray.

    ABer wie würdest du dan sie sortierung machen?
  • das ist mein code:

    Quellcode

    1. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    2. {
    3. UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainCell"];
    4. if(cell == nil){
    5. cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MainCell"];
    6. }
    7. //Berechnung der Entfernung
    8. erdradius = 6371;
    9. //Koordinaten von Datenbank in String schreiben
    10. NSString *latitude = [[news objectAtIndex:indexPath.row] objectForKey:@"Latitude"];
    11. NSString *longitude = [[news objectAtIndex:indexPath.row] objectForKey:@"Longitude"];
    12. entfernung = 0;
    13. double lat1 = eigLat; //eigener Standort Latitude
    14. double long1 = eigLon; //eigener Standort Longitude
    15. double lat2 = [latitude doubleValue]; //Standort Heurigen Latitude
    16. double long2 = [longitude doubleValue]; //Standort Heurigen Longitude
    17. //Da man mit Bogenmaß rechnen muss!
    18. double lat1rechnen = lat1*2*M_PI/360;
    19. double long1rechnen = long1*2*M_PI/360;
    20. double lat2rechnen = lat2*2*M_PI/360;
    21. double long2rechnen = long2*2*M_PI/360;
    22. //Formel zur Berechnung
    23. entfernung = (erdradius * (2 * asin(sqrt(((sin(((lat1rechnen-lat2rechnen)/2)*(lat1rechnen-lat2rechnen)/2))+cos(lat1rechnen)*cos(lat2rechnen)*(sin(((long1rechnen-long2rechnen)/2)*(long1rechnen-long2rechnen)/2)))))));
    24. //Werte in Strings damit man sie ausgeben kann
    25. weg = [NSString stringWithFormat:@"%.2f km", entfernung];
    26. HeurigenName = [[news objectAtIndex:indexPath.row] objectForKey:@"Name"];
    27. newsMutable = [news mutableCopy];
    28. for (NSMutableDictionary* entry in newsMutable)
    29. {
    30. [entry setValue:[NSString stringWithFormat:weg] //[NSNumber numberWithDouble:entfernung]
    31. forKey:@"Altitude"];
    32. }
    33. NSLog(@"%@",newsMutable);
    34. news = [newsMutable copy];
    35. wegsorted = nil;
    36. wegsorted = [news sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"Altitude" ascending:YES]]];
    37. news = wegsorted;
    38. //Ausgabe
    39. cell.textLabel.text = [[wegsorted objectAtIndex:indexPath.row] objectForKey:@"Name"];
    40. cell.textLabel.textColor = [UIColor whiteColor];
    41. //cell.detailTextLabel.text =[[news objectAtIndex:indexPath.row] objectForKey:@"Altitude"];
    42. cell.detailTextLabel.text =[[wegsorted objectAtIndex:indexPath.row] objectForKey:@"Altitude"];
    43. return cell;
    44. }
    Alles anzeigen

    leider funktioniert die Sortierung nicht.