0

didSelectRowAtIndexPath 不起作用。
我是否配置了 2 个代表。一切都是链接的(tableview,tableviewcell)。
已经删了,又做了。
我在这里搜索了所有内容,但没有任何效果。
我认为这是最好的链接之一,但仍然无济于事。

我最后的希望是,我正在为模态打开我的 ViewController,其中有这个 tableview。但这将是非常错误的问题。

除此之外,我需要一些帮助

索莫代码.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..........
}
4

2 回答 2

4

我谦恭地向所有人道歉!我无意中单击了 Attributes Inspector> Selection: NO SELECTION

所以我在代码中找不到任何东西。

再次,我向所有人道歉,但如果有人遇到这个问题,这是需要验证的另一个步骤。" 更改为 Attributes Inspector> Selection: SINGLE SELECTION or MULTIPLE SELECTION (由你决定)

感谢大家的回答和帮助

于 2012-08-28T14:22:09.353 回答
1

你设置了休息时间didSelectRowAtIndexPath吗?试试看它是否在那里成功中断。

扩展rokjark的答案,您必须手动将委托和数据源设置为相关文件。

您的头文件simulator.h只是将其声明为某些UITableView委托/数据源。

您仍然需要指向table_menu_left用作委托simulator.h文件来处理它的所有回调。

放:

self.table_menu_left.delegate = self;
self.table_menu_left.datasource = self;

并再次设置中断didSelectRowAtIndexPath,看看它是否被调用。

于 2012-08-27T22:13:35.463 回答