变量已编写但从未在 Swift 2.0 和 Xcode 7 中使用

Posted

技术标签:

【中文标题】变量已编写但从未在 Swift 2.0 和 Xcode 7 中使用【英文标题】:variable was written but never used in 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 版本。

【问题讨论】:

【参考方案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?

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

【讨论】:

这并没有初始化任何东西,它只是告诉编译器它将被初始化/在某个时间点有一个值。

以上是关于变量已编写但从未在 Swift 2.0 和 Xcode 7 中使用的主要内容,如果未能解决你的问题,请参考以下文章

Graphql 查询错误!变量已声明但从未使用

Swift 2.0 并发出警告

如何修复变量“fetchRequest”已写入,但从未读取 CoreData

Swift UI 2.0:如何设置此通知?

Swift println()在编写代码时不显示自动完成选项

Swift 2.0学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?