私はそれがためにと使用)2とOR は意味がありません)objがIFせた場合 - 複数の条件
で何かif let u = custom["u"] as? String || let url = custom["URL"] as? String
{
// Do something here
}
私はそれがためにと使用)2とOR は意味がありません)objがIFせた場合 - 複数の条件
で何かif let u = custom["u"] as? String || let url = custom["URL"] as? String
{
// Do something here
}
= 1 letの複数の条件を使用でき、代わりに
if let u = custom["u"] as? String,
let url = custom["URL"] as? String {
// Do something here
}
AND条件を使用する場合のみ、複数の条件を追加できます。
OR
を使用すると、適切に設定された値がわからないため、正しく変数にアクセスできなくなります。
AND
テストでは、両方の変数が正しく作成されていることを確認しているので、そのタイプを確実に知ることができます。
あなたは、カンマ区切りで区切らテスト記述する必要があります:私は同意
if let u = custom["u"] where u == "testValue",
let url = custom["URL"] {
// Do something here
}
:where
キーワードを使用して、また
if let u = custom["u"],
let url = custom["URL"] {
// Do something here
}
は、あなたが直接あなたのif let
ブロックの後にいくつかの条件を追加することができますがuser3441734でWhtyあなたはそれをしたいですか?
if let u = custom["u"] as? String {
if let url = custom["URL"] as?
// Do something here
}
}
私はこのようにします。内部ブロックは、上記の条件が成立するときにのみ実行されます。
if let u = custom["u"] as? String {
// Call same method
}
if let url = custom["URL"] as?
// Call same method
}
このようにして、2つがチェックされ実行されます。
あなたのコレクションタイプがDictionary
であると仮定します。
あなたが本当にOR
を使用する場合:
if(custom.keys.contains("u") || custom.keys.contains["URL"]) { }
しかし、すでに他の人はあなたがそれらのキーの値が必要な場合、あなたはまだ別々の2の場合を記述する必要があるため、本当に、意味がないこと、書きましたステートメント。
if let u = custom["u"] {
print("Value for u: \(u!)");
}
if let url = custom["URL"] {
print("Value for URL: \(url!)");
}