我一直在尝试使用Swift在Xcode 7中创建一个应用程序,我正在尝试使用此代码将文本字段内的数字转换为整数, let a = Int(percentLabel.text!)
但每当我尝试这个时,我都会收到错误消息 Instance Member 'percentLabel' cannot be used on type 'ViewController'
我不知道为什么我会收到这个错误,也许这是我在Xcode 7中发现的一个错误.
这是我的完整代码.
import UIKit
class ViewController: UIViewController {
@IBOutlet var tipSlider: UISlider!
@IBOutlet var splitSlider: UISlider!
@IBOutlet var billAmount: UITextField!
@IBOutlet var totalLabel: UILabel!
@IBOutlet var tipTotal: UILabel!
@IBOutlet var totalPerPerson: UILabel!
@IBOutlet var percentLabel: UILabel!
@IBOutlet var splitLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
let a = Int(percentLabel.text!)
@IBAction func tipChanged(sender: AnyObject) {
let currentValue = Int(tipSlider.value)
percentLabel.text = "\(currentValue)"
}
@IBAction func splitChanged(sender: AnyObject) {
let currentValue = Int(splitSlider.value)
splitLabel.text = "\(currentValue)"
}
@IBAction func amountChanged(sender: AnyObject) {
}
}
Run Code Online (Sandbox Code Playgroud)
Scr*_*ble 12
您不能在类中的函数调用之外使用这两行
let myString = percentLabel
let myInt: Int? = Int(myString)
Run Code Online (Sandbox Code Playgroud)
您不能将属性初始化为另一个属性的值,也不能将变量的默认值设置为另一个属性的默认值.你通常会在viewDidLoad或viewWillAppear这样的函数中执行此操作.阿森的答案也应该有效,因为它会试图懒散地获得价值,或者当你提出要求时.
let myString = percentLabel也不会返回文本,你需要这样做,let myString = percentLabel.text但你不能像属性一样分配这个值.你需要将他的代码放在函数体中
每次调用它时,此代码都会返回一个新值.我希望它能满足您的需求
var myInt: Int? {
return Int(percentLabel.text!)
}
Run Code Online (Sandbox Code Playgroud)
代替
let myString = percentLabel
let myInt: Int? = Int(myString)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25614 次 |
| 最近记录: |