tmp
Monday, September 28, 2015
Swift2 ラベルの省略 or 必須
Swift2で `#` がなくなったりしたので ラベルの省略 or 必須についてまとめ func or initializer、第一引数かそうでないかで挙動が変わる ##func ###第一引数 ####内部引数名のみの場合 ラベルを省略する ```swift func method(arg1: String) { // } method("foo") ``` ####外部引数名を設定した場合 ラベルを指定する ```swift func method(arg1 arg1: String) { // } method(arg1: "foo") ``` ###第二引数以降 ####内部引数名のみの場合 内部引数名と同じラベルを指定する ```swift func method(arg1: String, arg2: String) { // } method("foo", arg2: "bar") ``` ####外部引数に `_` を設定した場合 ラベルを省略する ```swift func method(arg1: String, _ arg2: String) { // } method("foo", "bar") ``` ##initializer ###第一引数 ####内部引数名のみの場合 ラベルを指定する ```swift class MyClass { init(arg1: String) { // } } MyClass(arg1: "foo") ``` ####外部引数に `_` を設定した場合 ラベルを省略する ```swift class MyClass { init(_: String) { // } } MyClass("foo") ``` ###第二引数以降 initializerの場合は第一引数の場合と同じ ```swift class MyClass { init(arg1: String, arg2: String) { // } } MyClass(arg1: "foo", arg2: "bar") ``` ```swift class MyClass { init(arg1: String, _: String) { // } } MyClass(arg1: "foo", "bar") ``` ##まとめ * `func`の第一引数の場合、デフォルトでラベルを省略 * `func`の第二引数以降 or `init`の場合、デフォルトでラベル必須
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment