アプリケーションを実行して UITableView を表示すると、何も表示されません。実行されません:
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {}
と
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {}
- 開発環境はIOS SDK 6.1です。/ シミュレータのバージョンは 6.0 です。
- ストーリーボードでテーブルビューコントローラーを使用しました。
「RetrieveDataFromDBTableVC」というクラスを作成し、テーブル ビュー コントローラーのカスタム クラスを「RetrieveDataFromDBTableVC」に設定しました。
デリゲートとデータ ソースは既に設定されていると思いますので、再度設定する必要はありませんよね? (デリゲートとデータソースの接続はテーブル ビューです)。
「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; }
接続が問題だと思いますが、それを理解する方法がわかりません。ありがとう !!