【问题标题】:variable was written but never used in Swift 2.0 & Xcode 7变量已编写但从未在 Swift 2.0 和 Xcode 7 中使用
【发布时间】:2015-08-30 10:36:49
【问题描述】:

当我创建一个没有 String() 的变量来初始化变量时,会出现错误提示,“变量未初始化”,当我直接分配时会出现同样的错误

var username: String = usernameTextfieldSigup.text!

当我使用下面的代码初始化变量时,

var username: String = String()
username = usernameTextfieldSignup.text!

警告出现,变量“用户名”已写入但从未使用过。

我知道我可以忽略这些警告,但我想要更简洁的代码。 我正在使用 Xcode7 beta5 版本。

【问题讨论】:

    标签: xcode swift swift2 xcode7-beta5


    【解决方案1】:

    你可以先声明不带值的用户名:

    var username: String 
    

    然后在初始化器中为其赋值:

    // replace with your (valid) initializer
    func init() {
        username = usernameTextfieldSignup.text!
    }
    

    但是,我确信 usernameTextfieldSignup.text 在用户实际提供值之前不会有值。因此,在这种情况下,我建议将 username 设为可选,以便您可以在需要时设置它的值:

    var username: String?
    

    然后在设置的时候:

    username = usernameTextfieldSignup.text
    

    访问时:

    if let uname = username {
        // do something with the uname
    }
    

    此外,您看到的variable 'username' was written but never used 警告可能是因为您写入/初始化username 但实际上没有代码读取它,因此根据编译器,它是一种无用的变量。

    【讨论】:

      【解决方案2】:

      要初始化一个空字符串,您必须将其设为显式或可选,如下所示:

      let string: String!
      let string: String?
      

      您可以对任何数据类型执行此操作。

      【讨论】:

      • 这并没有初始化任何东西,它只是告诉编译器它将被初始化/在某个时间点有一个值。
      猜你喜欢
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 2016-10-24
      • 2015-11-15
      • 1970-01-01
      相关资源
      最近更新 更多