簡體   English   中英

Swift 2.0並發出警告

[英]Swift 2.0 and let warnings

我在Swift 2.0中有問題

這是我編寫的當前代碼塊:

let URL = NSURL(string:"www.google.com")

然后收到以下警告:“從未使用不可變值URL的初始化,請考慮將其替換為“ _”或將其刪除。

我要宣告租約時該怎么辦。

寫作時我收到類似的警告 var URL = NSURL(string:“ www.google.com”)

在Swift 2.0中我可以做什么來聲明Let或var?

initialization of immutable value URL was never used

意味着您沒有在任何地方使用該變量,因此它會引發警告。 但是,看截圖,您已將URL聲明為var並將其用於另一個var的data中。

因此,現在應該有兩個警告。 URL被聲明為var但從未更改,並且從未使用過data變量。

為了滿足,請使用let URL ...因為您沒有對其進行突變。 並刪除data因為這是異步塊/關閉,您可以從完成塊訪問data

注意:

以后不修改時應使用let ,而要修改對象時應使用var 考慮數組:

let immutableArray:[String] = ["foo", "bar"]
var mutableArray:[String] = ["hello"]

mutableArray.append("World") // Is valid since its a var
immutableArray.append("abc") // Not valid, infact auto complete does not even show append methods

每當您聲明let而不使用該常量編譯器時,都會顯示警告。 不用擔心。 如果您使用的不是let恆替換_ 這是為了優化。 如果您不使用刪除該讓。 或者要使警告靜音,請使用簡單的print(YOUR Constant)

let url = URL = NSURL(string:"www.google.com")

let data = NSURLSession.sharedSession().downloadTaskWithURL(URL!) {
{ (data, response, error) in {
  if(error != nil) {
  print(data) // This data is different from let data constant
}
print(data) // This will silence warning. Also make sure it is not nil

這可能工作正常。

let URL = NSURL(string:"www.google.com")
NSURLSession.sharedSession().downloadTaskWithURL(URL!) { (url: NSURL?, response: NSURLResponse?, error: NSError?) -> Void in
    if error == nil && url != nil {
        let data = NSData(contentsOfURL: url!)
            print(data)
        }
    }

你應該改變varlet以解決此警告。 為了節省內存,編譯器建議用戶僅在需要從變量獲取值而無需設置時使用let而不是var

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM