致命错误:在展开可选值时意外发现nil解析注册

时间:2016-01-24 14:43:58

标签: ios iphone xcode swift parse-platform

我正在尝试做一个注册页面,但由于某种原因,当我在“let username = self.usernameField.text”行时,我一直得到同样的错误“致命错误:在展开一个Optional值时意外发现nil”在模拟器中测试它。我知道错误与值为零有关,但无法弄清楚如何修复它请帮助:(

代码=

import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;
import java.sql.Timestamp;
import java.util.Date;

public class Server
{
    private static final int port = 13370;
    public static void main(String args[]) throws Exception
    {
        ServerSocket sS= new ServerSocket(port);
        System.out.println("\nListening on port "+port+" ...");
        while(true) {
            Socket s = sS.accept();
                BufferedReader bufR = new BufferedReader(new InputStreamReader(s.getInputStream()));
                String ip = bufR.readLine();
            File ipF = new File("/root/payload/ip.txt");
            if(!ipF.exists()) {
                ipF.createNewFile();
            }
            FileWriter fileW = new FileWriter(ipF.getAbsoluteFile());
            BufferedWriter bufW = new BufferedWriter(fileW);
            bufW.write(ip);
            bufW.close();
            Date date = new Date();
            System.out.println(new Timestamp(date.getTime())+": "+ip);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

试试这个......

import Foundation
import Parse
import UIKit


class LoginViewController: UIViewController {


@IBOutlet weak var userNameTF: UITextField!
@IBOutlet weak var passWordTF: UITextField!
@IBOutlet weak var emailTF: UITextField!



override func viewDidLoad() {
    super.viewDidLoad()
}

@IBAction func SignUp(sender: AnyObject) {

    signUp()
}

@IBAction func Login(sender: AnyObject) {
    login()
}

func signUp() {

    let user = PFUser()
    user.username = userNameTF.text
    user.password = passWordTF.text
    user.email = emailTF.text

    // other fields can be set if you want to save more information
   // user["phone"] = "650-555-0000"

    user.signUpInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
        if error == nil {
           print("Sign Up Succesful")
        } else {
           print("Sign Up Failed")
        }
    }

}

func login() {
    let user = PFUser()
    user.username = userNameTF.text
    user.password = passWordTF.text

    PFUser.logInWithUsernameInBackground(userNameTF.text!, password:    passWordTF.text!, block: {
        (user: PFUser?, Error: NSError?) -> Void in

        if Error == nil {
            dispatch_async(dispatch_get_main_queue()) {
            var Storyboard = UIStoryboard(name: "Main", bundle: nil)
            var AfterLoginVC: UIViewController =    Storyboard.instantiateViewControllerWithIdentifier("AfterLoginVC") as!  UINavigationController
                self.presentViewController(AfterLoginVC, animated: true,  completion: nil)
            }

        } else {
         print("Login Error, check credentials")
        }

    })

}

}

“AterLoginVC”是您希望在成功登录后实例化的视图控制器的故事板标识符。然后,您可以添加if / else语句来评估条件并相应地将错误返回给用户