Textfeld Ausgabe

elyptikus

Registriert
Thread Starter
Dabei seit
31.05.2012
Beiträge
1
Reaktionspunkte
0
Hallo zusammen

Ich programmiere mit Swift in XCode 6 ein App, mit welchem sich ein Ticket mit der Ticketnummer identifizieren lässt, bestätigt wird, ob das Ticket gültig ist und es dann im System entwertet. Nun stehe ich bei der Ausgabe von den Infos an, wenn der Button gedrückt wird (ganz unten). Ich will, dass er die Eingabe vom Eingabefeld Ticketnummer nimmt und diese dann dort bei Input einfügt.
Er zeigt die Fehlermeldung an: 'NSTextField' does not have a member named 'info'

(Ich bin Swift Anfänger und komme von HTML, CSS und C++)

Kann mir jemand helfen wie ich das angehen muss?

Code:
//
//  ViewController.swift
//  Ticket Checker Test


import Cocoa

class ViewController: NSViewController {

    //Textfelder initialisieren
    @IBOutlet var Ticketnummer: NSTextField!
    @IBOutlet var Info: NSTextField!
    
    //Laden beim Start
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    //Laden nach jedem Durchlauf
    override var representedObject: AnyObject? {
        didSet {
        }
    }

    //Ablauf Programm
    class Nummer{
        let Vorname: String
        let Name: String
        let Zone: String
        let Anzahl: Int
        var Gültig: Bool
        
        init(Vorname: String, Name: String, Zone: String, Anzahl: Int, Gültig: Bool){
            self.Vorname = Vorname
            self.Name = Name
            self.Zone = Zone
            self.Anzahl = Anzahl
            self.Gültig = Gültig
        }
        
        
        func info () -> String {
            return "Vorname: \(Vorname) Name: \(Name) Zone: \(Zone) Anzahl: \(Anzahl)"
        }
        func gültig () -> String {
            if Gültig == true{
                return "Ticket ist gültig"
            }
            else{
                return "Ticket ist nicht gültig"
            }
        }
        func entwerten (Bool) -> Bool{
            return false
        }
        
    }
    
    //CSV Import Funktion (kommt noch)
    let ticket1 = Nummer(Vorname: "Michael", Name: "Frey", Zone: "VIP Zone 1", Anzahl: 3, Gültig: false)
    let ticket2 = Nummer(Vorname: "Christian", Name: "Frey", Zone: "VIP Zone 4", Anzahl: 4, Gültig: true)

    
    //Drücken des Button
    @IBAction func Button(sender: AnyObject) {
        var Input = Ticketnummer
        Info.stringValue = Input.info() + " " + Input.gültig()
    }
}

Vielen Dank schon im Voraus

Gruss Elyptikus
 
Hallo,

Kann mir jemand helfen wie ich das angehen muss?
Konkret leider nein…

Du solltest Dir unbedingt Grundlagen aneignen.
Der Code zeigt, dass Du einfach drauflos schreibst ohne elementares Wissen mitzubringen.

Zum Problem:

Du deklarierst eine lokale Variable "Input", die auf eine Instanz von NSTextField zeigt, die selbst eine Eigenschaft Deiner Klasse ist.
In der Folgezeile sendest Du an "Input", also eine Instanz von NSTextField, die Nachricht "info()".

Wenn Du in der Dokumentation zu NSTextField nachschaust, dann wirst Du feststellen, dass die Klasse keine solche Methode implementiert.

In Deiner eigenen Klasse hast Du diese Methode definiert.
Fraglich ist was Du damit vorhast.

Xcode weißt Dich deshalb korrekt auf den Fehler hin.

Nicht aufgeben und fit werden - hau rein… :D

Viele Grüße
 
Zurück
Oben Unten