当我运行应用程序以显示 UITableView 时,结果什么也没有。它不会运行:
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {}
和
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {}
- 开发环境为IOS SDK 6.1。/模拟器版本是6.0。
- 我在情节提要中使用了表格视图控制器。
我创建了一个名为“RetrieveDataFromDBTableVC”的类,并将表视图控制器的自定义类设置为“RetrieveDataFromDBTableVC”。
我认为委托和数据源已经为我设置好了,所以我不需要再次设置对吗?(委托和数据源的连接是Table View)。
在“RetrieveDataFromDBTableVC”类中,我定义如下:
- (void)viewDidLoad { [super viewDidLoad]; [self retrieveData]; } -(void)retrieveData { NSURL * url = [NSURL URLWithString:getDataURL]; NSData * data = [NSData dataWithContentsOfURL:url]; citiesArray = [[NSMutableArray alloc]init]; // Assign data NSString * cID = @"aa"; ... cities * myCity = [[cities alloc]initWithCityID:cID andCityID:cName andCityState:cState andCityPopulation:cPopulation andCityCountry:cCountry]; // Add city object to our cities array [citiesArray addObject:myCity]; // Create a myTableView outlet for this table view to reload data // self.tableView is also correct right? [self.myTableView reloadData]; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: (NSInteger)section { // It will not run this function !! return [citiesArray count]; } // It will not go into this function either !! - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // Set the identifier name in UITableViewCell also static NSString *CellIdentifier = @"cities"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; // Retrieve the current city object for use with this indexPath.row cities * currentCity = [citiesArray objectAtIndex:indexPath.row]; cell.textLabel.text = currentCity.cityName; return cell; }
我认为连接是问题,但我不知道如何解决。谢谢 !!