swift不带let地声明一个常数
在swift不带let地声明一个常数,swift,Swift,在Swift编程语言中我们可以声明如下常数: let sth = "something" 但我发现我们可以写作 window = UIWindow(frame: UIScreen.mainScreen().bounds) 它没有使用关键字let,那是什么意思 任何声明,无论是常量还是变量,都必须使用let(常量)和var(变量)关键字。比如说 var window = UIWindow(frame: UIScreen.mainScreen().bounds) let window2 = U
Swift编程语言中
我们可以声明如下常数:
let sth = "something"
但我发现我们可以写作
window = UIWindow(frame: UIScreen.mainScreen().bounds)
它没有使用关键字let,那是什么意思 任何声明,无论是常量还是变量,都必须使用
let
(常量)和var
(变量)关键字。比如说
var window = UIWindow(frame: UIScreen.mainScreen().bounds)
let window2 = UIWindow(frame: UIScreen.mainScreen().bounds)
window
是一个变量,因为它是使用var
创建的;window2
是一个常量,因为它是使用let
创建的。现在在下面的代码中
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window2 = UIWindow(frame: UIScreen.mainScreen().bounds)//error
第1行将正常工作,但第2行将给出错误,因为您无法为常量重新赋值
您可以在操场上尝试上述代码并检查错误。任何声明,无论是常量还是变量,都必须使用
let
(对于常量)和var
(对于变量)关键字进行声明。比如说
var window = UIWindow(frame: UIScreen.mainScreen().bounds)
let window2 = UIWindow(frame: UIScreen.mainScreen().bounds)
window
是一个变量,因为它是使用var
创建的;window2
是一个常量,因为它是使用let
创建的。现在在下面的代码中
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window2 = UIWindow(frame: UIScreen.mainScreen().bounds)//error
第1行将正常工作,但第2行将给出错误,因为您无法为常量重新赋值
您可以在操场上尝试上述代码并检查错误。这意味着您正在修改类的现有实例属性。我猜您是在应用程序委托或
UIView
子类中这样做的
通常,您必须使用
let
或var
,因此,如果您能够在没有这些关键字的情况下为window
赋值,那是因为您所在的范围已经声明了值。这意味着您正在修改类的现有实例属性。我猜您是在应用程序委托或UIView
子类中这样做的
window = UIWindow(frame: UIScreen.mainScreen().bounds)
通常,您必须使用let
或var
,因此,如果您能够在没有这些关键字的情况下为window
赋值,那是因为您所在的范围已经声明了值
window = UIWindow(frame: UIScreen.mainScreen().bounds)
如果您试图编写此代码,则必须声明如下所示的变量:
var window: UIWindow?
let关键字用于定义常量。它的价值是不可改变的Var用于定义变量
您可以在不声明变量的情况下尝试上述代码行。它肯定会给你一个错误
如果您试图编写此代码,则必须声明如下所示的变量:
var window: UIWindow?
let关键字用于定义常量。它的价值是不可改变的Var用于定义变量
您可以在不声明变量的情况下尝试上述代码行。这肯定会给你一个错误。谢谢,我认为这是最合适的解释谢谢,我认为这是最合适的解释