有人可以解释这个Objective C方法声明语法

Dou*_*g R 5 objective-c

我正在研究iPhone开发书*而不是真正了解目标C.在大多数情况下,我能够跟踪正在发生的事情,但是有一些方法声明,如下面的那个,我有点麻烦解析.例如:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger) section {
  return [self.controllers count]; //controllers is an instance variable of type NSArray in this class
}
Run Code Online (Sandbox Code Playgroud)

它看起来这是一个名为numberOfRowsInSection的方法,它返回一个NSInteger,并将NSInteger作为一个本地称为"section"的参数.但是我不理解对tableView的所有引用,或者为什么在方法中没有使用它时需要参数.有人可以澄清一下吗?谢谢.

*P.258,由Mark和LaMarche开始的iPhone 3开发,由Apress出版

更新:我能够找到另一个更详细的SO线程: Objective C中的方法语法

Geo*_*che 4

这是一个称为:

tableView:numberOfRowsInSection:
Run Code Online (Sandbox Code Playgroud)

它需要两个参数:

  • AUITableView*
  • ANSInteger

该方法还采用一个隐式self参数,它是调用它的实例。正如 dreamlax 所指出的,它还需要一个隐式的_cmd,这是当前被调用的方法。

正如 Mark 所说,如果您符合某个接口,那么不使用某些参数是很常见的。