2017-03-25 14 views
1

例えば、
let a: String = "sat" let b: Any = "sat"文字列とどのような型を比較す​​るかは、それが等しいかどうかを素早く比較しますか?

if a == b

私はそれが不整合型文字列と任意を示すbefore.Butことを試みました。
この問題について私を助けてください。私は迅速に新しいです。異なっている何

if(a == "\(b)") // b automatically converted into 'Any' to 'String' 
{ 
    ... 
    ... 
    ... 
} 

答えて

2

試みは、VAR aが文字列であるとするvar bがどれ(ANYOBJECT)であるので、あなたは彼らにequaliventを維持することができます。そこで、この問題を回避するには、比較の前か、そのエラーに直面した場合

If a == (b as! String){ } 

それとも

If a == "/(b)"{ } 
1

を比較した時、String型に変更するvar B、それはデータの種類をまずチェックです。

let b: Any = "sat" 
print(type(of: b)) 

それは私を示した文字列

enter image description here

は、今、私たちは以下の

であることを確認することができ、我々は文字列でキャストBを入力すると、問題が行ってきました。

if a == b as! String { 
    ......   
} 
関連する問題