当我创建一个没有String()的变量来初始化变量时,错误会显示警告,"变量不会初始化",当我直接分配时出现相同的错误
var username: String = usernameTextfieldSigup.text!
当我使用下面的代码初始化变量时,
var username: String = String()
username = usernameTextfieldSignup.text!
警告出现,变量'用户名'是写的但从未使用过。
我知道我可以忽略这些警告,但我想要一个更干净的代码。 我正在使用Xcode7 beta5版本。
答案 0 :(得分: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
但实际上没有代码读取它,因此根据编译器它是一种无用的变量。
答案 1 :(得分:0)
要初始化一个空字符串,您必须使其显式或可选,如下所示:
let string: String!
let string: String?
您可以使用任何数据类型执行此操作。