0

私は iOS プログラミングの初心者で、簡単なことをしたいと思っています。問題に関するトピックをいくつか見ましたが、コードが機能しない理由がわかりません...

  • details.xibという空のビューを作成しました
  • Objective-C クラスを作成したので、details.hdetails.mの 2 つの空のファイルがあります。
  • ViewController.xibというメイン ビューには、tableView があります。
  • ViewController.mで、一番上に追加しました:#import "details.h"
  • ViewController.mで、 didSelectRowAtIndexPath メソッドを次のように変更しまし

    details *det = [[details alloc] init];
    [self.navigationController pushViewController:det animated:YES];
    

私はこの警告を取得します: 「UIViewController *」型のパラメーターに「詳細 *__strong」を送信する互換性のないポインター型

私の英語がぎこちなくてすみません、私はフランス語です...助けてくれてありがとう!

4

3 に答える 3

0
 NSMutableArray *MenuArray=[[NSMutableArray alloc] init];

 //Populate your array dynamically. Here I have populate my array with a custom object
 [MenuArray addObject:[[GlobalMethod alloc] initWithMenuName:@"Home" WithNibNumber:1]];
 [MenuArray addObject:[[GlobalMethod alloc] initWithMenuName:@"Profile" WithNibNumber:2]];
 [MenuArray addObject:[[GlobalMethod alloc] initWithMenuName:@"Friends" WithNibNumber:3]];
 [MenuArray addObject:[[GlobalMethod alloc] initWithMenuName:@"Photos" WithNibNumber:4]];

 // And so on.....


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


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   GlobalMethod *Method=[MenuArray objectAtIndex:[indexPath row]];
   UITableViewCell *cell;
   [cell setTag:[Method NibNumber]];
   return cell;
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell *cell=[tableView cellForRowAtIndexPath:indexPath];
   if([cell tag]==1)
   {
      //push to viewController1
   }
   else if([cell tag]==2)
   {
      //push to  viewController12
   }
   else
   {
      //and go on
   }
}
于 2013-09-23T12:31:52.953 に答える
0

ファイル所有者で適切なクラスを持つ details.xib をルート化しているかどうかを確認します。

この画像を参照してください:

ここに画像の説明を入力

そして、詳細ビューコントローラーがUIViewControllerのサブクラスであることを確認してください。そうでない場合は、ビューコントローラーをUIViewControllerサブクラスとして作成します(ビューコントローラー自体を作成するときに選択できます。下の画像を参照してください)

ここに画像の説明を入力

于 2013-09-23T12:27:33.863 に答える