• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Nur beim ersten mal betätigen ausführen

AppleDevo

Jonagold
Registriert
15.03.14
Beiträge
23
Guten Tag

Ich möchte gerne für meine App ein Punktesystem einführen.
Wenn man das erste mal auf einen Button klickt, soll ein Punkt in einem Label hinzugefügt werden.

Es soll nur ein einziges mal, beim ersten klick auf einen Button ausgeführt werden und darin liegt auch mein Problem. Ich weis nicht, wie ich das umsetzten kann.
Wie man der Counter programmiert, weis ich. Aber beim anderen bleibe ich hängen.

Gruss
 
Setz doch einfach den Button auf inaktiv nach dem ersten Klick (also "nicht klickbar" meine ich, falls es da eine andere Terminologie in Cocoa gibt).
 
So einfach ist es leider nicht. Ich werde den Button später noch brauchen :)
 
Naja, dann packst du halt eine Bedingung in die entsprechende Logik, die der Button auslöst.

Code:
if (counter > 1) {
    // no operation
} else {
    // do stuff
}
 
Danke schonmal für die Hilfe.

Ich denke, ich muss es nochmals erklären. Wie schon erwähnt, möchte ich gerne ein Punktesystem einführen.
Wenn man etwas erfolgreich abgeschlossen hat, bekommt man 1 Punkt. Man kann aber nur maximal ein Punkt pro Aufgabe gutgeschrieben bekommen.

Im Bild zu sehen sind zwei Buttons (Abschliessen) in zwei verschiedenen ViewController. Wenn ich nun auf einen von den beiden klicke, soll sich in beiden Label das Null in eine Eins umwandeln und gespeichert werden.
 

Anhänge

  • Beschreibung.png
    Beschreibung.png
    88,9 KB · Aufrufe: 117
Beim klicken den "Punkt" setzen und speichern, beim Anzeigen einer View die Daten lesen (oder übergeben) und entsprechend handeln (viewWillAppear oder viewDidAppear). Vielleicht hast Du ja eine Klasse mit all den Einträgen, also alles was Punkte geben kann, und zeigst das irgend wo als Übersicht dann an.

Speichern kannst Du die Daten zum Bsp. in einem File (Stichworte: NSKeyedArchiver und NSKeyedUnarchiver)
 
Zuletzt bearbeitet: