这个方法的参数从哪里传来?

时间:2011-03-23 04:33:53

标签: objective-c ios methods

简单问题:tableViewsection参数从何处传递?方法return [self.listData count];中的实际代码甚至没有提及它们。

这是我的界面代码:

@interface Simple_TableViewController : UIViewController 
<UITableViewDelegate, UITableViewDataSource>
{   
NSArray *listData;
}

@property (nonatomic, retain) NSArray *listData;

@end

这就是所有的实现代码:

#import "Simple_TableViewController.h"

@implementation Simple_TableViewController
@synthesize listData;

- (void)viewDidLoad {
NSArray *array = [[NSArray alloc] initWithObjects:@"Sleepy", @"Sneezy", 
                  @"Bashful", @"Happy", @"Doc", @"Grumpy", @"Dopey", @"Thorin", 
                  @"Dorin", @"Nori", @"Ori", @"Balin", @"Dwalin", @"Fili", @"Kili",
                  @"Oin", @"Gloin", @"Bifur", @"Bofur", @"Bombur", nil];
self.listData = array;
[array release];
[super viewDidLoad];
}

- (void)viewDidUnload {
self.listData = nil;
}


- (void)dealloc {
[listData release];
[super dealloc];
    }


#pragma mark -
#pragma mark Table View Data Source Methods
- (NSInteger)tableView:(UITableView *)tableView
    numberOfRowsInSection:(NSInteger)section {
    return [self.listData count];
}

我只是想知道方法(NSInteger)tableView: (UITableView *)numberOfRowsInSection:如何接收这些参数?当然这到处发生;我只想了解它。

2 个答案:

答案 0 :(得分:0)

Simple_TableViewController类可能意味着管理具有单个部分的单个表。鉴于此,tableView和section参数并不重要,因为它们只能是一个东西:分别指向表和0的指针。

答案 1 :(得分:0)

您的视图控制器类通过UITableViewDelegate和UITableViewDataSource添加对这些回调方法的支持。您正在通过<UITableViewDelegate, UITableViewDataSource>在.h文件中添加此支持。这些类内置于Cocoa Touch框架中,您只是使用它们。当(重新)加载表时,如果已经定义了这些回调方法(有些是必需的,其他是可选的),则会调用这些回调方法。