1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Hilfe mit Textfeld und Array

Dieses Thema im Forum "iOS-Developer" wurde erstellt von Phil_B, 10.02.10.

  1. Phil_B

    Phil_B Idared

    Dabei seit:
    17.11.09
    Beiträge:
    24
    Hallo Community,

    ich habe ein Problem und komme nicht weiter. Ich hoffe ihr könnt mir helfen.
    Ich erstelle gerade eine kleine App für das iPhone.
    In dieser App habe ich zwei Textfelder, ein Label und eine Action mit dem IB erstellt.
    Folgendes will ich erreichen:
    Der User gibt in die Textfelder zwei Float-Werte ein. Diese werden nach tippen des Buttons mit einem Wert aus einem Array multipliziert und ausgegeben.

    Aus meineApp.h
    Code:
    ...
    IBOutlet UITextfield *kgvalue; //Textfeld für Eingabe eines Gewichtes
    IBOutlet UITextfield *hourvalue; //Textfeld für Eingabe der Trainingsdauer
    IBOutlet UILabel *resultvalue; //Label für das Resultat
    ...
    - (IBAction)buttonPressed:(id)sender;
    ...
    
    In der meineApp.m steht folgendes:
    Code:
    ...
    - (IBAction)buttonPressed:(id)sender {
      // Erstellen eines Arrays mit einem Float-Wert (weitere sollen folgen)
      NSMutableArray* numbers = [[NSMutableArray alloc] init];
      NSNumber* num1 = [NSNumber numberWithFloat:6.5];
      [numbers addObject:num1];
    
      // Einlesen eines Wertes aus einem Textfeld
      NSNumber *kgtext = [NSNumber numberWithFloat:[kgvalue.text floatValue]];
      NSNumber *hourtext = [NSNumber numberWithFloat:[hourvalue.text floatValue]];
    
      float wertausarray = [numbers addObjectAtIndex:0];
    
      float resultat = kgtext * hourtext * wertausarray;
    }
    
    Der obige Code läuft so nicht, da das resultat immer null ist.
    Was mache ich falsch?

    Ich bin für jede Art von konsturktiver Hilfe dankbar
    Phil_B
     
  2. Modern Geek

    Modern Geek Ontario

    Dabei seit:
    14.10.09
    Beiträge:
    348
    1.) float wertausarray = [numbers addObjectAtIndex:0];

    dort willst du bestimmt "objectAtIndex" nutzen ;)

    Dann versuch es mal so...

    // Einlesen eines Wertes aus einem Textfeld
    float kgtext = [kgvalue.text floatValue];
    float hourtext = [hourvalue.text floatValue];

    NSNumber *wertausarray = [numbers objectAtIndex:0];
    float wert = [wertausarray floatValue];

    float resultat = kgtext*hourtext*wert;

    Du arbeitest mal mit NSNumber mal mit Float, das wird wohl nicht funktionieren :)
     
  3. Phil_B

    Phil_B Idared

    Dabei seit:
    17.11.09
    Beiträge:
    24
    Das hat leider nicht funktioniert.
    Wenn ich in die Textfelder 2 Werte eintrage und auf den Button tippe schließt sich die App.
    Habe mir auch mal per NSLog und Console meine Werte ausgeben lassen. Die sind alle null :(
     
  4. Modern Geek

    Modern Geek Ontario

    Dabei seit:
    14.10.09
    Beiträge:
    348
    [​IMG]

    Also bei mir funktioniert es ... wie sieht dein header aus? Hast du die noetigen Outlets gesetzt?!
     
  5. Phil_B

    Phil_B Idared

    Dabei seit:
    17.11.09
    Beiträge:
    24
    Also ich habe die App jetzt nochmal neu gemacht und zwar mit deinem Code und es funktioniert.
    Da ich noch nicht weiß warum, werde ich mir das nochmal genauer anschauen und aus meinen Fehlern lernen.

    Dir erstmal ein Riesendank
    Phil_B
     
  6. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Denk auch noch ans Memory Management... Dein 'numbers'-Array wird nicht mehr aus dem Speicher entfernt. Da entsteht bei jedem Klick ein leak...
     

Diese Seite empfehlen