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