Xcode - didSelectRowAtIndexPath不运行

时间:2014-02-11 17:49:35

标签: ios xcode uitableview

我在didSelectRowAtIndexPath方法中有这个简单的代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath {
    NSString *selected = @"test";
    NSLog(@"You choose: %@", selected);
}

这是我的 ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> {

    IBOutlet UITableView *tableData;
}

@end

当我运行App时,TableView显示所有数据,但随后我在一个单元格中进行了上述方法的运行(?)

enter image description here

2 个答案:

答案 0 :(得分:1)

您是否在故事板中为tableview设置了委托,选择右键单击表格视图并拖动到视图控制器,您应该看到设置dataSource委托和tableviewdelegate的选项 - 我忘记了确切的名称。

答案 1 :(得分:0)

例如:这是我代码的一部分,但应该告诉你需要做什么。您需要在某处移交数据。

NSDictionary *oneDict = [_noteBookArray objectAtIndex:indexPath.row];
NSString *touchString = [oneDict objectForKey:@"value"];
NSString *dateString = [oneDict objectForKey:@"timestamp"];

//调用执行此操作的方法

    [_noteBookViewController setContentAndTimeStampWith:touchString and:dateString];

//将当前的View Controller设置为活动状态(包含值的控制器)

 [self presentViewController:_noteBookViewController animated:YES completion:nil];
来自notebookviewcontroller的

方法

- (void)setContentAndTimeStampWith:(NSString *)contentString and:(NSString *)timeStampString
{_textInputView.text = contentString;
_timeStampString = timeStampString;}

得到了吗?