部品にそれを打破することができます。別の方法は、クラスメソッドを意味する+
です。
(NSInteger)
これはメソッドの戻り値の型です。この場合はNSInteger
です。
tableView:
セレクタ名の最初のコンポーネント(全体では、tableView:numberOfRowsInSection:
)です。 :
は、パラメータが続くことを示します。
(UITableView *)
パラメータのタイプ。
tableView
パラメータの名前。これはメソッドのシグネチャではほとんど無関係ですが(目的を読んでいる人にはヒントを除いています)、実装ではこれがそのパラメータにバインドされている変数です。
numberOfRowsInSection:
セレクタ名の次のコンポーネント。
(NSInteger)
第2パラメータのタイプ。
section
第2パラメータの名前。
注、この全体のラインでのみ必要な空間はtableView
とnumberOfRowsInSection:
間の1つです。他のすべてのスペースは、最も一般的な形式は、あなたがこのようなルックスを見つけるのに
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
を生成するために省略されることができます:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
編集:まだに関するいくつかの混乱がありますようにが見えます質問の後半部分。セレクタのtableView:
コンポーネントは、質問をするUITableView*
インスタンスを提供するためのものです。UITableViewDataSource
プロトコルのすべてのメソッドは、送信テーブルビューを引数として提供します。これらのメソッドには他の引数があり、そうでないものもあります。追加の引数を持つものはすべてtableView:someOtherThing:
(たとえばtableView:numberOfRowsInSection:
)とフォーマットされていますが、これは必須ではありません。 numberOfRowsInTableView:forSection:
またはnumberOfRowsInSection:ofTableView:
、さらにはfoo:bar:
と呼ばれることもありますが、開発者とコードを後で読む人の両方を支援する一貫した命名体系を維持するために、API開発者が書いた文章の選択です。他のパラメータを使用しないメソッドは、numberOfSectionsInTableView:
のように見えます。これはメソッドの自然な名前なので、これは無効なセレクタ(最初のの後のすべてのコンポーネントはにパラメータが関連付けられている必要があり、したがって、末尾が:
である必要があるため)tableView:numberOfSections
と呼び出すことはできません。いずれの場合も
downvoteの理由は? – Alan