誰かが迅速に何らかの種類の速記を使用する方法があるかどうか知っていますか?より具体的には、IFステートメントのようなものの中括弧を省きます...
if num == 0
// Do something
の代わりに
if num == 0
{
// Do something
}
ネストされたIFがいくつかある場合、これらの中括弧はかなりスペースを消費します。
PS。私は次のことができることを知っています:
if num == 0 {
// Do something }
しかし、私はそのようなことが可能かどうかまだ興味があります
出来るよ :
let x = 10, y = 20;
let max = (x < y) ? y : x ; // So max = 20
そして、非常に興味深いこと:
let max = (x < y) ? "y is greater than x" : "x is greater than y" // max = "y is greater than x"
let max = (x < y) ? true : false // max = true
let max = (x > y) ? func() : anotherFunc() // max = anotherFunc()
(x < y) ? func() : anotherFunc() // code is running func()
この次のスタック: http://codereview.stackexchange.com はあなたの質問に適しています;)
編集:三項演算子に注意してください
三項演算子をif elseステートメントに置き換えることだけで、ビルド時間は92.9%短縮されました。
https://medium.com/@RobertGummesson/regarding-Swift-build-time-optimizations-fc92cdd91e31#.42uncapwc
Swiftでは、次の条件にステートメントが1つしかない場合でも、中括弧を追加する必要があります。
if num == 0 {
// Do something
}
Swift ifステートメントが機能する場合).
Swift 2.0アップデート方法1:
a != nil ? a! : b
方法2:短縮形の場合
b = a ?? ""
そしてそれは動作します、
u.dob = (userInfo["dob"] as? String) != nil ? (userInfo["dob"] as! String):""
Json文字列が空の場合、空の文字列に置き換えています。
編集:Gerardo Medina`sの提案を追加しています...
u.dob = userInfo["dob"] as? String ?? ""
Objective-Cの場合のように、短縮形のifステートメントを使用できます。
num1 < num2 ? DO SOMETHING IF TRUE : DO SOMETHING IF FALSE
これは、簡略if-else条件と呼ばれます。 SwiftでiOS開発を行っている場合は、このプロパティを使用してUIオブジェクトの動作を操作することもできます。
たとえば-テキストフィールドにテキストがある場合にのみボタンを有効にします。つまり、テキストフィールドの文字数がゼロの場合は無効のままにしてください。
button.enabled = (textField.characters.count > 0) ? true : false
その非常にシンプルな:in Swift 4
playButton.currentTitle == "Play" ? startPlay() : stopPlay()
元のコードは
if playButton.currentTitle == "Play"{
StartPlay()
}else{
StopPlay()
}
常にif
全体を1行に入れることができます。
if num == 0 { temp = 0 }