iOSエージェントモード
1424 ワード
代理,应该是oc的一个最特别的特色之一了。我们可以看见在好多地方都会运用到它,最直接的例子就是调用tableview的时候,他需要在主界面调用tableview的一些方法,像这个列表里有多少行,每行长什么样子,这个都是实现tableview的代理方法。废话不多说,我们看代码,以自定义cell为例子,咱们需要实现其内部一些按钮的方法来吧(于是我找了好久以前的代码,现在我觉得用block还是可以的)
cell.h
cell.m#import
@class SujianTableViewCell; @protocol SujianTableCellDelegate -(void)SujianOnClick:(id)sender; @end @interface SujianTableViewCell : UITableViewCell @property (weak, nonatomic) id delegate;// @end - (void)SucellOnClick:(id)sender { UIButton *bt = sender; [self.delegate SujianOnClick:bt]; // }
私たちはtableviewでメインインタフェースでこのように書きます.@interface MainrootViewController ()
// SujianTableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:cellStr]; if (cell == nil) { cell = [[SujianTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellStr]; cell.accessoryType = UITableViewCellAccessoryNone; cell.selectionStyle = UITableViewCellSelectionStyleNone; } cell.delegate = self; // #pragma mark - SujianDelegate // cell - (void)SujianOnClick:(id)sender { }