didSelectRowAtIndexPath无效。
我配置了2个代表吗?一切都是联系在一起的(tableview,tableviewcell)
已经删除并再次执行。
我在这里搜索了一切,没有任何效果
我认为这是最好的link之一,但仍无济于事。
我最后的希望是,我正在打开我的ViewController,这里有这个tableview,用于模态。但这个问题非常错误。
除此之外,我需要一些帮助
Somo代码.H
@interface simulator : UIViewController <UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate>
{
NSArray *array_products;
}
@property (nonatomic, strong) NSDictionary *plist_products;
@property (nonatomic, strong) IBOutlet UITableView *table_menu_left;
@property (nonatomic, strong) NSString *file_plist;
@end
部分代码.M
#import "cel_products.h"
- (void)viewDidLoad
{
NSString *path_root = [[NSBundle mainBundle] bundlePath];
NSString *full_path = [path_root stringByAppendingPathComponent:self.file_plist];
self.plist_products = [[NSDictionary alloc] initWithContentsOfFile:full_path];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"id_cell_products";
UITableViewCell *cell = [self.table_menu_left dequeueReusableCellWithIdentifier:CellIdentifier];
array_products = [self.plist_produtcs allKeys];
if (cell == nil)
{
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"cel_products" owner:self options:nil];
for(id currentObject in topLevelObjects)
{
if([currentObject isKindOfClass:[cel_products class]])
{
cell = (cel_products *)currentObject;
break;
}
}
}
cell.textLabel.text = [array_products objectAtIndex:indexPath.row];
return cell;
}
// numberofrowsinsection - OK
// numberofsectionintableviw - OK
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Hein?????");
// Nothing..........
}
答案 0 :(得分:4)
我谦卑地向所有人道歉! 我无意中点击了属性检查器&gt;选择:没有选择
所以我在代码中找不到任何内容。
再一次,我向所有人道歉,但如果有人遇到这个问题,这又是一个需要验证的步骤。 “更改为属性检查器&gt;选择:单个选择或多个选择(取决于您)
感谢大家的答案和帮助
答案 1 :(得分:1)
你在didSelectRowAtIndexPath
设置了休息时间吗?试着看看它是否在那里成功破裂。
扩展rokjark的答案,您必须手动将委托和数据源设置为相关文件。
您的标题文件simulator.h
只是将其声明为 A UITableView的 A 委托/数据源。
您仍然需要指出table_menu_left
使用simulator.h
作为 委托文件来处理所有回调。
集:
self.table_menu_left.delegate = self;
self.table_menu_left.datasource = self;
再次在didSelectRowAtIndexPath
中设置一个中断,看看它是否被调用。