运行 直接从自定义单元格中委派 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 传递值的问题的方法之一。如果也能分享一些其他的方法就好了。
我在自定义单元格上设置了委托方法。比方说,
@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 传递值的问题的方法之一。如果也能分享一些其他的方法就好了。