swift textFiled 获取输入值失败?

//
//  ViewController.swift
//  LoverFinder
//
//  Created by 林炳强 on 16/3/6.
//  Copyright © 2016年 林炳强. All rights reserved.
//

import UIKit

class ViewController: UIViewController , UITextFieldDelegate {
    
    @IBOutlet weak var name: UITextField!

    @IBOutlet weak var gender: UISegmentedControl!
    
    @IBOutlet weak var birthDay: UIDatePicker!
    
    
    @IBOutlet weak var height: UISlider!
    
    @IBOutlet weak var heightNumber: UILabel!
    
    @IBOutlet weak var hasProperty: UISwitch!
    
    @IBOutlet weak var result: UITextView!
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        name.delegate = self
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func okTapped(sender: AnyObject) {
        //单击按钮之后显示所有内容
        //sex
        let genderText = gender.selectedSegmentIndex==0 ? "高富帅":"白富美"
        let grogran = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
        let dateNow = NSDate()
        let component = grogran?.components(NSCalendarUnit.YearForWeekOfYear, fromDate: birthDay.date, toDate: dateNow, options: NSCalendarOptions(rawValue: 0))
        let age = component!.year
        let hasPropertyText = hasProperty.on ? "有房" : "没房"
        
        
        result.text = "\(name.text),\(age)岁, \(genderText),身高\(heightNumber.text),\(hasPropertyText),求交往"
    }

    @IBAction func heightChanged(sender: AnyObject) {
        //slider 与label绑定
        let slider = sender as! UISlider
        let i  = Int(slider.value)
        slider.value = Float(i)
        heightNumber.text = "\(i)厘米"
        
        
    }
    //UITextFiledD
    func textFieldShouldReturn(textField: UITextField) -> Bool{
        textField.resignFirstResponder()
        return true
    }
    
}

有多余的 Optional 这是什么原因啊?

图片描述

阅读 3.5k
2 个回答
新手上路,请多包涵

这事Xcode7版本新加的你需要解包:name.text和heightNumber.text后➕!

本来想写一些,不过挺烦的,你还是去 Google 可选值 或者 Swift Optional 吧,你连 Swift 的基本都不知道,也不知道你的学习路线是如何的。

提醒一下:不要按照 @Thenameofmeisjun 的话,简单的去使用 ! 语法糖强制解包。Swift 提供很多更安全的做法去解包,我就不一一赘述了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进