2

Objective C を学んでいます。C# のメソッド シグネチャに相当するものを見つけようとしています。

UIViewControllerDelegate の次の署名と混同しています

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation

- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc

したがって、C# では、これは異なるオーバーロードされたシグネチャを持つ 2 つのメソッド名 splitViewController と同等でしょうか?

メソッドが非常に説明的であるため、混乱します...

最初の例を見てみましょう:

splitViewController はメソッドの名前で、vc と orientation はメソッドに渡す引数です。shouldHideViewController と inOrientation は、UISplitViewDelegate .h 宣言で宣言されている引数の名前です。

ええ、私はこれで正しいですか?私が正しく学習していることを確認しようとしており、ここで概念を理解しています。

人々が最初のメソッドを参照するとき、彼らはそれを splitViewController:shouldHideViewController:inOrientation と呼んでいます。これは、メソッド名だけでメソッドを参照し、複数のオーバーロードがあることを理解するだけなので、C# から来ている私には奇妙です。さらに、Obj-C では、これらのさまざまな「オーバーロード」がまったく異なるものを処理します。これは、私にとっては戦略的なパラダイムです。

何かご意見は...

4

1 に答える 1