运行 直接从自定义单元格中委派 viewcontroller 中的方法

Run Delegate Method in viewcontroller directly from Custom Cell

我在自定义单元格上设置了委托方法。比方说,

@protocol CheckDelegate <NSObject>
@required
- (void)checkForUpdate;
@end
@property (nonatomic, weak) id<CheckDelegate> delegateForChecker;

-- 我将在我的单元格中的某处调用上述函数 ---

并且我想在 Viewcontroller 处监听自定义单元格中的任何更改。如何在不使用 tableviewcontroller 的情况下使用 Viewcontroller 中的委托来实现它。

在ViewController我想做,

-(void) viewDidLoad{
  CustomCell * cll = [[Customcell alloc]init]
  cll.delegateForChecker = self;
}

-(void) checkDelegate{
  NSLog(@"Something changed");
}

P.S。我不想使用 NSNotification

我想出了不同的方法,使用块将数据从单元格传递到另一个 viewcontroller(不是实例化单元格的表viewcontroller)。这可能会帮助那些发现自己陷入这个问题的人。 在自定义单元格中,我创建了一个名为 属性 的块,它将 属性 传递给实例化单元格的表 viewcontroller。

@property  (copy, nonatomic) void (^didTouchButtonOnCell) (BOOL selectedButton);

在 customCell 中触摸的按钮中,我将布尔值 属性 设置为布尔值。

 self.didTouchButtOnCell(YES/NO);

在 tableViewcontroller 中,我创建了另一个块,它将数据传递到 viewcontroller 我打算传递布尔值的地方。 表中ViewController、

 @property (copy, nonatomic) void (^passBooleanToViewController) (BOOL selectionFromButton)

在 TableViewController 的 cellForRowAtIndexPath 中,我得到布尔值 属性 并将其传递给 ^passBooleanToViewController.

    cell.didTouchButtonCell = ^(BOOL selection)
   {
      passBooleanToViewController(selection)
    }

最后,在 ViewController 中,我再次获得 TableViewcontroller 的块 属性,其中包含从 CustomCell

传递给 TableViewController 的布尔值
Viewcontroller.passBooleanToViewController = ^(Bool sel){
    NSLog(@"%I here is the boolean value",sel);
}

** 这是我能够解决从自定义单元格向 viewcontroller 传递值的问题的方法之一。如果也能分享一些其他的方法就好了。