Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 方法“;tableView:DidSelectedRowatineXpath“;在嵌入UIViewController的UITableView中_Ios_Uitableview - Fatal编程技术网

Ios 方法“;tableView:DidSelectedRowatineXpath“;在嵌入UIViewController的UITableView中

Ios 方法“;tableView:DidSelectedRowatineXpath“;在嵌入UIViewController的UITableView中,ios,uitableview,Ios,Uitableview,我有一个UITableView嵌入到UIViewController中,我已经完成了将列表显示到表视图中所需的所有步骤,这是可行的 我对下面的方法有一个问题,它看起来好像被调用了,但它返回的是null,而不是列表中的项 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"%@",[self.list objectAtIndex:indexP

我有一个
UITableView
嵌入到
UIViewController
中,我已经完成了将列表显示到表视图中所需的所有步骤,这是可行的

我对下面的方法有一个问题,它看起来好像被调用了,但它返回的是
null
,而不是列表中的项

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"%@",[self.list objectAtIndex:indexPath.row]);
}
谢谢大家的想法


Alessandro

在代码下方,正确显示列表,以便设置出口和协议方法(委托、数据源)

tableview:didSelectRowAtIndexPath方法:它输出(null)而不是列表中的正确元素

//
//  MainViewController.m
//  ProvaTable
//
//  Created by Alessandro on 12/6/12.
//  Copyright (c) 2012 Alessandro. All rights reserved.
//

#import "MainViewController.h"

@interface MainViewController ()
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) NSArray *listOfObjects;

@end

@implementation MainViewController

@synthesize tableView = _tableView;
@synthesize listOfObjects = _listOfObjects;

-(void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view.
    self.listOfObjects = [NSArray arrayWithObjects:@"Object 1",@"Object 2", nil];
}

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

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

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell Item";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
    }
    // Set up the cell...
    cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:15];
    cell.textLabel.text = [self.listOfObjects objectAtIndex:indexPath.row];
    return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"%@",[self.listOfObjects objectAtIndex:indexPath.row]);
}

@结束

然后将调试降低一个级别,例如,
indexPath.row是什么?是
self.list
不是
nil
?如果它是一个
NSArray
,其中有多少项?您是否确认此方法实际上正在被调用?显然,这还不足以让我们诊断出发生了什么,但也显然需要做一些额外的诊断。但是这种方法没有明显的错误。顺便问一下,如果没有调用此方法,您是否将
委托
数据源
属性设置为指向此视图控制器?self.list是哪种类型?您的tableview样式是普通的还是分组的?完全同意@Rob。这是找到问题的最好方法。尝试这些步骤,让我们知道出现了什么。只是为了弄清楚-打印出
(null)
?@konrad,是的,打印出的NSLog(null)实际上,可能在没有正确设置代理的情况下显示列表,因此,您应该确保实现
UITableViewDelegate
,并设置表的委托。