-2

こんにちは。私は自分のアプリを作成し、領事館でこのエラーを確認します。

警告:tableView:accessoryTypeForRowWithIndexPath:inのデリゲート実装により、レガシーセルレイアウトを使用しています。このメソッドの実装を削除し、セルプロパティaccessoryTypeおよび/またはeditingAccessoryTypeを設定して、新しいセルレイアウト動作に移動してください。このメソッドは、将来のリリースでは呼び出されなくなります。

コードは次のとおりです。

      - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
     {
    return 1;
      }

     - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
      return [name count];
     }


     // Customize the appearance of table view cells.
     - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }

    // Set up the cell...
    NSString *cellValue = [name objectAtIndex:indexPath.row];
    cell.textLabel.text = cellValue;
    /*NSString *trimmedString = [[listOfItems objectAtIndex:indexPath.row] stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
    NSString *website4 = [NSString stringWithFormat:@"http://shaymargolisapps.x10.mx/send.php?mission=GetImageOfApp&aname=%@", trimmedString]; 
    NSData *dataURL4 = [NSData dataWithContentsOfURL:[NSURL URLWithString:website4]];
    NSString *strResult4 = [[[NSString alloc] initWithData:dataURL4 encoding:NSUTF8StringEncoding]autorelease];
    NSData* imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:strResult4]];
    UIImage* image = [[UIImage alloc] initWithContentsOfFile:@"%@PlaceholderApp.png"];
    [cell.imageView setImage:image];*/
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    return cell;
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //Get the selected country
    NSString *selectedCountry = [name objectAtIndex:indexPath.row];

    //Initialize the detail view controller and display it.
    DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];
    dvController.selectedCountry = selectedCountry;
    [self.navigationController pushViewController:dvController animated:YES];
    [dvController release];
    dvController = nil;
         }

          - (UITableViewCellAccessoryType)tableView:(UITableView *)tableView             accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath {

        //return UITableViewCellAccessoryDetailDisclosureButton;
         return UITableViewCellAccessoryDisclosureIndicator;
              }

          - (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath: (NSIndexPath *)indexPath {

            [self tableView:tableView didSelectRowAtIndexPath:indexPath];
                  }

何が問題なの?

4

1 に答える 1

2

それはそれが言うことを意味します。非推奨のメソッドを使用しています。このメソッドの実装を削除します。

-(UITableViewCellAccessoryType)tableView:(UITableView *)tableView             accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath

代わりに、cellForRowAtIndexPathでアクセサリタイプを設定します。

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

私は今あなたがすでにやっているのを見ます。

于 2012-06-02T14:41:26.737 に答える