3

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

var username: String = usernameTextfieldSigup.text!

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

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

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

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

4

2 回答 2

4

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

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但实际上没有代码读取它,因此根据编译器,它是一种无用的变量。

于 2015-08-30T10:47:32.523 回答
0

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

let string: String!
let string: String?

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

于 2015-08-30T10:41:17.367 回答