1. 程式人生 > >OS代理方法和block的使用

OS代理方法和block的使用

建立協議

一.

@protocol SecondViewControllerDelegate <NSObject>

-(void)secondViewControllerDidDit:(NSString *)name;

@end

[email protected](nonatomic,weak)id<SecondViewControllerDelegate> delegate;

三. 

-(void)secondViewControllerDidDit:(NSString *)name{

if ([self.delegate respondsToSelector:@selector(secondViewControllerDidDit:)]) {

        [self.delegatesecondViewControllerDidDit:@"你好"];

    }

}

四.

遵守協議,設定代理,實現方法

遵守協議

@interface ViewController ()<SecondViewControllerDelegate>

設定代理

second.delegate =self;

實現方法

-(void)secondViewControllerDidDit:(NSString *)name{

    NSLog(@"secondViewControllerDidDit--%@",name);

}

=========================block的使用=========================

1.第二個頁面宣告block

//<1>宣告block

typedef void(^myBlock)(NSString *name);

//<2>宣告一個block屬性

@property (nonatomic,copy) myBlock block;

 //<3>呼叫block、傳值

if (self.block !=nil) {

        self.block(@"123");

    }

   // self.block(@"123");

//實現

  NextViewController *next = [[NextViewControlleralloc] init];

    //<4>實現block

    //a:NSString *name   代表傳過來的值

//__block typeof(self) weakSelf = self;//block防止迴圈引用 用到self.的時候加上這句

    next.block = ^(NSString *name){

        //<5>實現

        NSLog(@"%@",name);

        self.view.backgroundColor = [UIColorcyanColor];

    };

相關推薦

OS代理方法block的使用

建立協議 一. @protocol SecondViewControllerDelegate <NSObject> -(void)secondViewControllerDidDit:(NSString *)name; @end 二[email

Mybatis的Mapper代理方法全域性配置檔案

package com.zucc.dao; import com.zucc.model.User; public interface UserMapper { public void addUser(User user); } UserMapper.xml <?xml version="1.0

UITextField 方法代理的使用

lac color placement nsrange nonnull 原來 ani str text 1.鍵盤的出現與隱藏 //彈出界面的同時就彈出鍵盤 - (void)viewDidAppear:(BOOL)animated{ [super viewDidAp

python os模組功能方法總結

os.sep     可以取代作業系統特定的路徑分割符 os.linesep  字串給出當前平臺使用的行終止符。例如,Windows使用'\r\n',Linux使用'\n' 而Mac使用'\r'。 os.name       &nb

Kotlin相關基礎及與Java的不同 的 筆記(仨) --拓展方法屬性代理

感覺學習進度越來越慢了,一個新的知識點需要學習好久. 22. Kotlin的擴充套件方法和擴充套件屬性 可以自定義方法和運算子啊 可以理解為 加強版的Utils 只需要遵循 fun X.Y():Z{} X為類名 Y為自定義的擴充套件方

Python實現爬蟲設定代理IP偽裝成瀏覽器的方法分享

Python實現爬蟲設定代理IP和偽裝成瀏覽器的方法分享  1.python爬蟲瀏覽器偽裝   1

python os.path模組 sys.path.append模組常用方法詳解

轉載自:http://blog.csdn.net/JOJOY_tester/article/details/54575264 https://www.cnblogs.com/wuxie1989/p/5623435.html記錄下:python 的 sys.path.appen

spring aop實現類似代理類中的方法(註解實現)

1.可以指定aop的執行次序 [email protected],可以攔截類上有@DataSource註解的類中的所有方法 [email protected]可以攔截有註解@DataSource的方法 4.兩者結合可以實現類似Spring註解

os,os.path屬性方法列表

os模組屬性    描述 linesep        用於在檔案中作為分隔行的字串 sep                用來分隔檔案路徑名的字串 pathsep        用於分隔檔案路徑的字串 curdir            當前目錄的字串名稱 pardir 

iOS 代理block的理解

首先兩者作用是一樣的,都是進行單一回調。不通的是,delegate是個物件,然後用過一個物件自己呼叫代理協議函式來完成整個流程。block是傳遞一個函式指標,利用函式指標執行來進行回撥。還有在記憶體管理上需要注意,delegate不需要儲存引用。block對引用資料有cop

java動態代理——代理方法的假設驗證及Proxy原始碼分析五

前文地址 https://www.cnblogs.com/tera/p/13419025.html 本系列文章主要是博主在學習spring aop的過程中瞭解到其使用了java動態代理,本著究根問底的態度,於是對java動態代理的本質原理做了一些研究,於是便有了這個系列的文章 這個系列的文章的初衷是為了研究j

cpan安裝perl module的方法步驟(備忘帖)

roo for lora pre permanent help base -i rmi 適用場景:不具備root權限且沒有sudo權限的普通用戶安裝perl module安裝步驟:1)刪除/.cpan/.lockrm -rf /home/users/.cpan/.lock2

比較完善的學習流程方法Java學習中越到的所有問題

lag 編程 算法 ron java學習 XML col add servlet Java是一門面向對象編程語言,Java語言具有封裝、繼承、多態三個特性,這三個特征又使得Java語言比其他編程語言的功能更加強大強大、用起來更加簡單。Java語言作為靜態面向對象編程語言的代

spring的InitializingBean的 afterPropertiesSet 方法 init-method配置的區別聯系

def abs stat 說明 method dex pri 方法 nco InitializingBean Spirng的InitializingBean為bean提供了定義初始化方法的方式。InitializingBean是一個接口,它僅僅包含一個方法:aft

說一說本人對linux系統學習的方法經驗

linux 百度 應用程序 操作系統 多線程 相信大夥都聽說過linux系統,然而對於這個系統,總使讓新手感覺茫然,諾達的系統。下面是一段百度中的介紹:Linux系統是一套開源的並且能夠自由傳播的類似與Unix操作系統,是一個基於POSIX和UNIX的多任務、多用戶、支持多線程和多CPU的

jquery中prop()方法attr()方法的區別淺析

clas ttr over dex idt pro query selected accesskey jquery1.6中新加了一個方法prop(),一直沒用過它,官方解釋只有一句話:獲取在匹配的元素集中的第一個元素的屬性值。 大家都知道有的瀏覽器只要寫disabled,c

轉載----編寫高質量代碼:改善Java程序的151個建議(第1章:JAVA開發中通用的方法準則___建議1~5)

ase 重載方法 name 原理 .get tin stat eas 容易 閱讀目錄 建議1:不要在常量和變量中出現易混淆的字母 建議2:莫讓常量蛻變成變量    建議3:三元操作符的類型務必一致   建議4:避免帶有變長參數的方法重載 建議5:別讓null值和空值威

Android的一些方法屬性

註意 odin 技術 drawable button display round clas class 1.Activity常用的方法   View findViewById(int id) //根據組件的ID取得組件對象   setContentView(int

python基礎2-靜態方法方法

變量 img 靜態 訪問 func title 改變 參數 code 1. 類方法 是類對象所擁有的方法,需要用修飾器@classmethod來標識其為類方法,對於類方法,第一個參數必須是類對象,一般以cls作為第一個參數(當然可以用其他名稱的變量作為其第一個參數,但是大部

Android的方法屬性(2)

pin spinner 城市 android har lap ng- drawable -c 1.RadioButton(單選按鈕)   嵌入到RsdioGroup中實現單選效果   android:checkedButton="radio的id值"   int getC