如何将每个UITableViewCell与另一个视图链接

时间:2013-09-23 12:22:43

标签: iphone ios uitableview view cell

我是iOS编程的新手,我想做一件简单的事情。我看到了几个关于我的问题的主题,但我不明白为什么我的代码不起作用......

  • 我创建了一个名为 details.xib
  • 的空视图
  • 我创建了一个Objective-C类,所以我有两个空文件 details.h details.m
  • 在我的主视图中,名为 ViewController.xib ,我有一个tableView
  • ViewController.m 中,我添加了顶部:#import "details.h"
  • ViewController.m 中,我修改了 didSelectRowAtIndexPath 方法,如下所示:

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

我获得了这样的反对意见:不兼容的指针类型向'UIViewController *'类型的参数发送'details * __ strong'

对不起,如果我的英语很尴尬,我就是法国人......谢谢你的帮助!

3 个答案:

答案 0 :(得分:0)

检查您是否在文件所有者中正确使用了类的详细信息。

参考此图片:

enter image description here

并确保你的Details视图控制器是UIViewController的子类,如果没有,创建一个视图控制器作为UIViewController子类(创建视图控制器本身你可以选择。参见下图)

enter image description here

答案 1 :(得分: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
   }
}

答案 2 :(得分:0)

编译器告诉你:“我期待这个UIViewController方法中有一些presentViewController:animated:子类,而且它不是”

detail应该是detailViewController,继承UIViewController

修改

转到detail类头文件(detail.h),确保它继承自 UIViewController

@interface detail : UIViewController

//properties & methods declarations...

@end