91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發設計模式之代理

發布時間:2020-07-23 22:52:11 來源:網絡 閱讀:314 作者:ymanmeng123 欄目:移動開發
  • 代理設計模式

代理設計模式,也稱“委托”,顧名思義就是委托別人去做事情

     在代理模式中,一方稱為委托方,另一方稱為代理方。

     委托方和代理方通過協議聯系到一起。

     當委托方想要讓代理方做事情時只需向代理發送代理消息

     iOS開發設計模式之代理


     

代理的作用:

     1)對象間傳遞事件 :孩子告訴媽媽餓了

     2)對象間傳遞數值 :告訴媽媽餓了的同時告訴想吃什么

          代理方法中使用參數

     3)為自身的屬性賦值 :孩子告訴媽媽餓了同時要得到媽媽做的食物

          代理方法中使用返回值


  • 代理設計模式的使用步驟

  1. 委托方:提出代理協議

@protocol AMViewDelegate <NSObject>
@optional
- (void) view:(AMView*) view detailInfoWithState:(BOOL) state;
@end

2. 委托方:添加代理對象屬性

@interface AMView : UIView
@property (nonatomic, weak) id<AMAppViewDelegate> delegate;

3. 代理方:遵循代理協議

@interface ViewController() <AMAppViewDelegate>

4. 代理方:成為委托方的代理者

view.delegate = self;

5. 代理方:實現代理方法

- (void) view:(AMView*) view detailInfoWithState:(BOOL) state
{
    //...
}

6. 委托方:通過代理屬性調用代理方法

- (IBAction) nameBtnClicked:(id) sender {
    if ( self.delegate && [self.delegate respondsToSelector:@selector(view:detailInfoWithState:] ) {
        [self.delegate view:self detailInfoWithState:NO];
    }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜兰县| 杭锦旗| 宁安市| 榆林市| 玉门市| 仪陇县| 卫辉市| 海盐县| 合水县| 叙永县| 忻州市| 铜梁县| 抚远县| 聂荣县| 阿城市| 百色市| 丁青县| 大名县| 广丰县| 太康县| 会东县| 霍城县| 依安县| 晋中市| 绥芬河市| 温州市| 鹿邑县| 广州市| 慈利县| 治县。| 亳州市| 新河县| 望谟县| 武穴市| 赣榆县| 阿克| 巧家县| 舒城县| 阳高县| 阆中市| 鄂温|