didSelectRowAtIndexPath何时被调用

时间:2014-02-22 21:05:33

标签: ios objective-c uitableview

因此,我正在尝试创建一个应用程序,您可以在其中单击uitableview上单元格列表中的单元格,然后打开一个相应的PDF文件。为此,我想将两者之间的单元格标题传递给单独的类。我有一个名为“IndianaSpecificLawsView”的类来管理UITableCells,这是它​​的代码

    - (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;

}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    NSString* cellTitle = [[cell textLabel] text];
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    NSLog(@" (Pt1 Cell Title == %@",cellTitle);

    // saving an NSString
    [prefs setObject:@"cellTitle" forKey:@"cellTitle_String"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}



- (void)viewDidLoad
{
    [super viewDidLoad];


    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

我正在尝试使用NSUserDefuaults传递它但是当我放入NSLog来测试它时,NSLog永远不会被打印出来。我需要调用这种方法吗?我认为当按下按钮时它被调用,但事实并非如此。谢谢!

1 个答案:

答案 0 :(得分:0)

更改您的viewDidLoad方法并设置UITableView的数据来源并委托:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.tableView.dataSource = self;
    self.tableView.delegate = self;
}

并实施UITableViewDataSourceUITableViewDelegate协议。