无法从UITableViewCell调用performSegueWithIdentifier

时间:2014-05-17 22:30:37

标签: ios objective-c uitableview segue

我无法解决此问题。我通过故事板声明了一个segue,我试图从我编写的自定义TableViewCell中调用它来处理动态原型。

- (IBAction)clickedPhoto:(id)sender {
[self performSegueWithIdentifier:@"PhotoDetail" sender:self];
}

我收到No visible @interface for 'PhotoChoiceTableViewCell' declares the selector 'performSegueWithIdentifier:sender:'错误。

我想我已经发现我需要从UIView调用segue,但我无法弄清楚如何实现正确的委托或协议来执行此操作。

我的UITableViewController被称为InboxViewController,我的UITableViewCell被称为PhotoChoiceTableViewCell。

谢谢!

1 个答案:

答案 0 :(得分:0)

调用视图控制器上的performSegueWithIdentifier。单元格没有实现此方法。

步骤1.实施协议。

@class MyCell;
@protocol MyDelegate <NSObject>

- (void)photoTappedInCell:(MyCell *)cell;

@end


@interface MyCell : UITableViewCell

@property (nonatomic, weak) id<TRUProductImageGalleryCellDelegate> delegate;

@end

第2步。

Call a delegate in your cell:

- (IBAction)deleteButtonTapped:(id)sender
{
    if ([_delegate respondsToSelector:@selector(photoTappedInCell:)])
    {
        [_delegate performSelector:@selector(photoTappedInCell:) withObject:self];
    }
}

并且在您配置单元格时,请将视图控制器设置为委托。