2016-12-21 10 views
1

メソッドの宣言からメソッド名を識別するために、どのように私を混乱さ:IOS:私はIOSと客観C. UIApplicationDelegateに同梱されて、次のメソッド宣言に新たなんだ

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 

導入from Apple official siteによると、メソッド名はdidFinishLaunchingWithOptionsで、2つのパラメーター、applicationとlaunchOptionsを受け入れる必要があります。

私の限られた知識に基づいて、私はメソッドが2つのパラメータ、applications andlaunchOptionsを受け入れるアプリケーションであると考えました。 誰でもこのメソッドの宣言を理解できますか?

最初の列の直前の最初の文字列がメソッド名を表すべきではありませんか?

+0

Objective-Cに名前付き引数のようなものはありません。メソッド名は列(:)の直前のすべての文字列で結合されています –

答えて

1

(Objective-Cを使用して)iOSでメソッドを宣言する方法については、this official documentationを参照してください。

注: 'メソッドはパラメータを取ることができます'セクションを参照してください。その

リスト -

1)方法ない引数と1引数と

-(void) methodWithNoArgs 

2)メソッド複数引数

-(void)methodWithMultipleArguments:(NSString*)argument1 Arg2:(NSString*)argument2 Arg3:(NSString*)argument3 

-(void)methodWithOneArgument:(NSString*)argument1 

3)方法

ここでは、 "methodWithMulti pleArguments、Arg2、Arg3 "は、メソッド名の複数の部分を構成します。

+0

私はArg2とArg3が名前付き引数になっていると思っていましたが、 'Methods Can Take Take Parameters'で説明したように、Objective-Cの名前付き引数のようなものはありません。どうもありがとう。 –

0

このメソッドの名前はapplication:didFinishLaunchingWithOptions:で、2つのパラメータ:applicationlaunchOptionsが必要です。

メソッド名にセミコロンが含まれていることに注意してください。

名前は最初の引数の前の部分に限定されず、引数名の前のすべての部分も含まれます。したがって、非常に長いメソッド名が作成されますが、言語を読みやすくなります。 applicationlaunchOptions

+1

説明をありがとう。 –

0

メソッド名は、application:didFinishLaunchingWithOptions:

とパラメータです。すべてのアプリケーションは、UIApplicationDelegate -application:didFinishLaunchingWithOptionsで始まります(実装されている場合は、より正確には、-application:willFinishLaunchingWithOptions:)。これは、アプリケーションによって呼び出され、デリゲートに、起動プロセスが完了しており、実行準備がほぼ完了したことを通知します。

2)。 launchOptionsパラメータは、アプリの起動理由と方法を決定する責任があります。 userInfo辞書のように、-application:didFinishLaunchingWithOptions:launchOptions内の特定の名前付きキーの情報を取得できます。

3)。これらのキーの多くは、アプリケーションの起動時に通知されるUIApplicationDidFinishLaunchingNotification通知でも利用できます。詳細については、ドキュメントをチェックしてください。

4)。数多くのlaunchOptionsキーは、なぜアプリケーションが起動されたかに対応して、グループ化されたときに、より簡単に理解できます。

0

このプロトコルメッセージの名前である:

application:didFinishLaunchingWithOptions: 
0

1)

0

コロンの左部分を名前と右部分としてパラメータとみなし、複数のパラメータがある場合、メソッド名はすべて左部分結合によって生成する必要があります。colon (:)。そうで、

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 

application:didFinishLaunchingWithOptions:は、メソッド名である必要があり、右側に立っapplicationlaunchOptionsはパラメータです。それは誰が何このメソッドは行いますし、何のパラメータがあるという考えを得ることができるような構文(メソッド名)が書かれるべきだよう

Objective - Cdescriptive languageです。したがって、目的を理解するために、メソッド名はdidFinishLaunchingWithOptionsであると言えます。この文はメソッドの意味を与えますが、技術的にメソッド名はapplication:didFinishLaunchingWithOptions:です。また、カスタムメソッドを記述する際には、このプロトコル(メソッドとパラメータの目的を記述するメソッド名を記述してください)に従ってください。

最初のパラメータは、メソッドのクラスのインスタンスである必要があります。instance of classparameterとして含む場合は理想的です。上記の場合

+0

ありがとうライオン。 –

+0

あなたは大歓迎です..... – Lion

0
- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 

メソッド名 - applicationdidFinishLaunchingWithOptions

-

(BOOL)

、メソッドの戻り型であり、クラスメソッドのインスタンスメソッド、 +手段

application:(UIApplication *)は、アプリケーションオブジェクト自体です。

(NSDictionary *)launchOptionsは引数です

関連する問題