2016-05-18 6 views
-5

私はUserクラス内の以下の方法があります。地球上それだけで私は2番目のパラメータ「ラベル」(それが呼び出されるかわからない)を指定した場合、それを呼び出して動作しますなぜ2番目のパラメータ「引数」のみを必要とするメソッドはなぜですか?

func Login(username: String, password: String) -> String 
{ 
    return "Login Success"; 
} 

を?

var loginReturn = user.Login("aa", password: "zz"); 

IIF私はエラーだ次のようにします。私はスウィフトと満足していない

var loginReturn = user.Login("aa", "zz"); 

を。

+0

スウィフトでは、一般的に** 1)**大文字の後ろに関数名を開始するための** ** 2)悪い構文マナーがあり、 'Class'または' Struct'名の下位大文字の手紙。 – ZGski

+0

迅速性の鍵の1つは、わかりやすくするために呼び出しシーケンスにパラメータ名を含めるという目的の継続です。 –

答えて

6

Functions in Swift

Function parameters have both an external parameter name and a local parameter name. An external parameter name is used to label arguments passed to a function call. A local parameter name is used in the implementation of the function. (...) By default, the first parameter omits its external name, and the second and subsequent parameters use their local name as their external name. (...)

Omitting External Parameter Names

If you do not want to use an external name for the second or subsequent parameters of a function, write an underscore (_) instead of an explicit external name for that parameter.

から

章全体を読むことをお勧めします。あなたの混乱をはっきりさせるはずです。

また、外部パラメータ名は、技術的には関数/メソッド名の一部です。

1

あなたはこのようにそれを書き込むことができます。

func Login(username: String, _ password: String) -> String 
{ 
    return "Login Success"; 
} 

を呼び出す方法の最終的な外観を定義する「内側」と「外側」のパラメータを定義することができ、すべてのメソッドパラメータについて。

1

2つのパラメータを持つ関数を呼び出す場合は、名前の最初のパラメータの後にパラメータの名前をリストする必要があります。このコードは

var loginReturn = login("aa", password: "zz") 

作品

あなたはあなたの関数を書いている現在の方法は...このコードで失敗

var loginReturn = login("aa", "zz") 
関連する問題