Ios Swift 2预期声明错误&无法在视图控制器上使用实例成员

Ios Swift 2预期声明错误&无法在视图控制器上使用实例成员,ios,swift2,Ios,Swift2,以下是代码的屏幕截图: 图像显示的视图更清晰,因此您可以更好地看到它 import UIKit class ViewController: UIViewController { // Inputs @IBOutlet weak var billField: UITextField! //Outputs @IBOutlet weak var tipPercentageLabel: UILabel! @IBOutlet weak var personsLabel: UILa

以下是代码的屏幕截图:

图像显示的视图更清晰,因此您可以更好地看到它

import UIKit

class ViewController: UIViewController {
// Inputs
    @IBOutlet weak var billField: UITextField!
//Outputs
    @IBOutlet weak var tipPercentageLabel: UILabel!
    @IBOutlet weak var personsLabel: UILabel!
    @IBOutlet weak var tipTotalLabel: UILabel!
    @IBOutlet weak var tipPerPerson: UILabel!
    @IBOutlet weak var GrandTotalLabel: UILabel!
    @IBOutlet weak var totalPerPerson: UILabel!
//Slider
    @IBOutlet weak var tipSlider: UISlider!
    @IBOutlet weak var personsStepper: UIStepper!
// Variables\
    var amountDouble = Double(50)
    var sliderValue = 18
    var tipPerc = 0.18
    var tip = Double(10)
    var myTip = Double(10)
    var persons = Int(1)



    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        GrandTotalLabel.text = "Grand Total"
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    @IBAction func tipSliderChanged(sender: UISlider) {
        print("tip adjusted")

        sliderValue = Int(sender.value)
        tipPerc = Double(sliderValue) * 0.01
        tipPercentageLabel.text = "\(sliderValue)%"

    }
    @IBAction func personsStepper(sender: UIStepper) {
        print("persons adjusted")

        persons = Int(sender.value)
        personsLabel.text = "\(persons)"
    }





    let pctFormatter = NSNumberFormatter()
    pctFormatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle
上面一行中以pctFormatter开头的第一个错误是预期的声明错误

第二个错误在上面的行中,错误表示实例成员“amountDouble”不能用于类型“View Controller”

最后一个在上面的一行,写着预期的声明


问题是您的代码行不在方法中。这段代码只是放在类定义中,编译器不知道在func实现之外如何处理它

顺便说一下,如果您的目的是定义一个用代码初始化的属性,您可以执行以下操作:

let pctFormatter: NSNumberFormatter = {
    let _formatter = NSNumberFormatter()
    _formatter.numberStyle = .CurrencyStyle
    return _formatter
}()
但是pctFormatter下面的其他代码行显然是要放在一个方法中的,所以将它们放在func实现中

    GrandTotalLabel.text = pctFormatter.stringFromNumber(tip/personsDouble) 
    myTip = Double(tip/personsDouble)
    totalPerPerson.text = pctFormatter.stringFromNumber(result / personsDouble)

}
let pctFormatter: NSNumberFormatter = {
    let _formatter = NSNumberFormatter()
    _formatter.numberStyle = .CurrencyStyle
    return _formatter
}()