ios - 使用 Swift 时出错 - 实例成员不能用于类型 'ViewController'

标签 ios swift

我一直在尝试使用 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) {


    }
}

最佳答案

你不能在类中的函数调用之外有这两行

let myString = percentLabel
let myInt: Int? = Int(myString)

您不能将一个属性初始化为另一个属性的值,您不能将一个变量的默认值设置为另一个属性的默认值。您通常会在像 viewDidLoad 或 viewWillAppear 这样的函数中执行此操作。 Arsen 的回答也应该有效,因为它会尝试懒惰地获取值,或者按照您的要求获取值。

let myString = percentLabel 也不会返回文本,您需要执行 let myString = percentLabel.text 但您不能像属性一样分配此值。你需要把他的代码放在函数体中

关于ios - 使用 Swift 时出错 - 实例成员不能用于类型 'ViewController',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33055147/

相关文章:

ios - 在没有仪器的情况下调试循环保留在 ARC 中

ios - 找不到 CocoaLumberjack.h 文件?

c# - .Net 无法连接到 Apple 推送通知服务

ios - 如何更改我的配置文件?

xcode - 使用 contentsOfFile 的 UIImage

ios - UISearchController 结果 TableViewController 在 UISearchBar 为空时不清除结果

ios - 迭代用户以仅在 Swift 中显示他们的帖子

ios - Xcode 更新不支持 iPhone 5s

ios - 什么是 ViewController.swift(接口(interface))文件 - 在 Counterparts

ios - 在 iOS Swift 中将 NSDate 转换为字符串