2016-07-26 73 views
-4

我有下面的代碼的問題:字符串等於If語句價值,但不工作

  if finalName == "London, GB" { 

     let londonImage = UIImage(named: "united-kingdom-1043062.jpg") 

     imageViewPage1.image = londonImage 

    } 

    if finalName == "Novaya Gollandiya, RU" { 

     let StPetersbourgImage = UIImage(named: "architecture-995613_1920.jpg") 

     imageViewPage1.image = StPetersbourgImage 

    } 

    if finalName == "Berlin, DE" { 

     let BerlinImage = UIImage(named: "siegessaule-200714_1920.jpg") 

     imageViewPage1.image = BerlinImage 

    } 

    if finalName == "Tel Aviv, IL" { 

     let TelAvivImage = UIImage(named: "buildings-89111.jpg") 

     imageViewPage1.image = TelAvivImage 

    } 

    else { 

     let elseImage = UIImage(named: "sun-203792.jpg") 

     imageViewPage1.image = elseImage 

    } 

} 

我已經調試和值是「柏林,DE」,它仍然無法與其他而不是finalName ==「Berlin,DE」。

+0

不要用您的答案替換您的問題!問題是針對問題的,答案是針對答案的......實際上非常簡單。如果現有答案解決了您的問題,請將答案標記爲已接受,否則請發表您自己的答案*。 – Moritz

回答

1

您需要使用if if else if。

if finalName == "London, GB" { 
    let londonImage = UIImage(named: "united-kingdom-1043062.jpg") 
    imageViewPage1.image = londonImage 
} 
else if finalName == "Novaya Gollandiya, RU" { 
    let StPetersbourgImage = UIImage(named: "architecture-995613_1920.jpg") 
    imageViewPage1.image = StPetersbourgImage 
} 
else if finalName == "Berlin, DE" { 
    let BerlinImage = UIImage(named: "siegessaule-200714_1920.jpg") 
    imageViewPage1.image = BerlinImage 
} 
else if finalName == "Tel Aviv, IL" { 
    let TelAvivImage = UIImage(named: "buildings-89111.jpg") 
    imageViewPage1.image = TelAvivImage 
} 
else { 
    let elseImage = UIImage(named: "sun-203792.jpg") 
    imageViewPage1.image = elseImage 
} 
0

問題是else聲明。

因爲你檢查 if finalName == "Tel Aviv, IL" 和值不Tel Aviv, IL,它執行else聲明。

您應該將if條件重寫爲else if樣式或更好地將其轉換爲switch

1

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html

有一個在選項再次一起來看看。

在你的代碼中,每個if() {...}沒有其他條件,除了特拉維夫的最後一個條件。即使柏林比賽已經完成並且數值已經確定,其他人在與特拉維夫隊進行比較時也會出現問題(因爲球隊不能同時在柏林和特拉維夫進行比賽),並用其他方法重寫了這些值。

在這種情況下你可能想要做的事情是使用else if,除了第一個以外,所有的if