2016-07-26 12 views
0

Also habe ich mit ein paar schnellen Code in xcode 7 gearbeitet, und ich versuche, eine grundlegende Anmeldungs- und Registrierungsseite zu machen. Ich versuche, die Texteingaben aus den Textfeldern (Benutzername, Passwort usw.) zu erhalten, aber ich erhalte einen Fehler (Wert vom Typ 'NSTextField' hat kein Mitglied 'text'. Ich habe eine Notiz, um den Fehler zu markieren im Code.Xcode 7 Wie bekomme ich Textfeldeingaben?

// RegisterViewController.swift 
// SafeUtils 
// 
// Created by DJtech on 7/26/16. 
// Copyright © 2016 DJtech. All rights reserved. 
// 

import Cocoa 

class RegisterViewController: ViewController { 

    @IBOutlet weak var UserNameTextF: NSTextField! 
    @IBOutlet weak var UserPasswordTextF: NSSecureTextField! 
    @IBOutlet weak var UserVerifyPassTextF: NSSecureTextField! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do view setup here. 
    } 

    // When Register Button Tapped 
    @IBAction func RegisterBTNTPD(sender: AnyObject) { 
     //These are the parts of code that have the error. Error: Value of type 'NSTextField' has no member 'text' 
     let Username = UserNameTextF.text 
     let Password = UserPasswordTextF.text 
     let veriPass = UserVerifyPassTextF.text 


     // Are there empty fields? 


     // Store User Data 

     // Confirm Registration Message 

    } 


} 

Alle Hilfe ist willkommen

+0

NSTextField geht Sie verwenden müssen, um 'stringValue' –

+0

interessant klingt, aber man könnte etwas konkretisieren? Wie würde ich das in meinen Code integrieren? –

Antwort

2

Wie bereits in den Kommentaren erwähnt, können Sie nicht text verwenden den Wert des NSTextField zu bekommen einfach überprüfen Sie die NSControl Dokumentation, die die NSTextField. erbt von. Deshalb können Sie stringValue verwenden:

let Username = UserNameTextF.stringValue 
let Password = UserPasswordTextF.stringValue 
let veriPass = UserVerifyPassTextF.stringValue 

Sie müssen auch ; am Ende jeder Zeile in Swift verwenden.

+0

Ok. Vielen Dank. Ich habe es jetzt funktioniert. –

-1

hier diesen Code, die ich im Spiel Boden versucht haben ,, lassen Sie mich wissen, wie es

var appUsers: [[String:String]] = [ 
[ 
    "userName": "Charly", 
    "userPass": "123" 
], 
[ 
    "userName": "Betty", 
    "userPass": "345" 
], 
[ 
    "userName": "Lenny", 
    "userPass": "567" 
], 
[ 
    "userName": "Karl", 
    "userPass": "789" 
], 
[ 
    "userName": "Homer", 
    "userPass": "012" 
] 
] 

    var loginName = "Betty" 
    var loginPass = "345" 

    var logginResult = "" 

    for loggingUser in appUsers { 

    if loginName == loggingUser["userName"] { 

    if loginPass == loggingUser["userPass"] { 

     let result = "ok" 

     logginResult = result 

    } 
    } 
} 

if logginResult == "ok" { 

    print("You are logged") 

    // Do your logging stuff here 

} else { 

    print("Logging error") 

    //Dou your return stuff here 

} 
+0

Ich konnte sehen, dass das funktioniert, aber es wäre nicht sicher, weil Sie nur die Passwörter in welcher Datei auch immer sehen können. –

+0

Ich sehe wirklich nicht, wie, weil der obere Teil ein Wörterbuch mit Ihren Benutzern und Passwörtern ist, und der Code unten, die Schleife, ist zum Schleifen in Ihrem Wörterbuch, und niemand sein Blick darauf, , die var loginName und var loginName werden deine textfield-eingaben und das ergebnis lassen sie sehen, wenn der name und das passwort übereinstimmen und lässt sie fortfahren, ich sehe nicht, wie es unsicher ist, niemand sieht auf ihre benutzer ,, ,, –

+0

Diese Antwort bietet keine Antwort auf die Op-Frage – Christian