查看Tableview中每个Cell的Controller

时间:2016-11-05 15:04:51

标签: objective-c tableview

我对Objective C非常陌生,现在我正在开展一个项目。

I've created a Slide-Out-Menu, which is based on my own Database

现在我试图从每个Cell到ViewController获得Push-Seque,但我真的不知道它是如何工作的。

这是我的代码

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSArray *numarray = [self getServerConnection];
for (NSDictionary *diction in numarray) {
    NSDictionary *menuID = [diction objectForKey:@"id"];
    NSString *num = [NSString stringWithFormat:@"%@",menuID];
    intnum = [num intValue];
}
return intnum; }


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

NSArray *namearray = [self getServerConnection];
for (NSDictionary *diction in namearray) {
    name = [result valueForKey:@"name"];
    identifier = [menuArray valueForKey:@"identifier"];

    cell.textLabel.text = name [indexPath.row];

}

return cell; }

1 个答案:

答案 0 :(得分:1)

假设您在侧边菜单中分配了4个单元格,其中包含以下数据。

  1. 主页
  2. 资料
  3. 设置
  4. 关于我们
  5. 这些屏幕中的每一个都具有从当前视图控制器到具有标识符的目标视图控制器的分段。

    使用UITableView类的委托方法。

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        if (indexPath.row == 0){
            [self performSegueWithIdentifier:@"ProfileScreenSegueIdentifier" sender:self];
        }else if(indexPath.row == 1){
            [self performSegueWithIdentifier:@"HomeScreenSegueIdentifier" sender:self];
        }// So one...
    }
    

    注意:请在每个屏幕之间创建推送段... 例。 在上面的示例中,有三种可能性进入主屏幕

    1. 从个人资料到主页
    2. 从设置到主页
    3. 从关于我们到家
    4. 因此,您需要从这些屏幕创建3个segue,并使用相同的segue标识符。 所以上面的例子中会有12个segues。