成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解關于Cocoa編程模塊間協作

移動開發 iOS
Cocoa編程模塊間協作是本文要介紹的內容,在cocoa編程中,我們經常會遇到delegate、Target-Action、notification等等這些方法,來看詳細內容。

Cocoa編程模塊間協作是本文要介紹的內容,在cocoa編程中,我們經常會遇到delegate、Target-Action、notification等等這些方法,我覺得從某種角度看,可以將這些方法總結在一起,它們就是為不同模塊間提供協作的方法,這種協作在這里我把它理解為是“回調”,其實"回調"二字在這里更多是借用,并沒有認真地去考究過這些正是一堆回調函數,純粹是覺得挺像,感覺用來說明問題挺方便,所以就借用一下,應用層我們常見的"回調"就有以下幾類:

***:當然是如雷貫耳的delegate,這個沒什么好說的,教程和文檔說得夠權威仔細了,它主要在"父子"實例中會常被用到;

第二:這種方式比較常見,但卻未必會想到它其實也可以理解為是一種“回調”,這就是Target-Action模式;

第三:最任勞任怨的NSNotificationCenter,它以你最舒服的方式提供很令你滿意的服務,它有三個關鍵詞比較重要,observer、sender和name,observer就是notification的接受者,在"注冊method"中會碰到它,經常是self,我也建議是這樣,自己的notification就應該自己去注冊。

sender在設置"發送method"中(postNotificationName:object:和postNotificationName:object:userInfo:)的object參數時會見到,這個參數非常重要,它直接影響對NSNotificationCenter 使用的質量,sender是什么意思,就是notification的"簽名",當在注冊method中我們可以指定僅接受哪個sender的notification,那么center就是靠"發送method"時的object這個參數所傳的"簽名"來決定怎么發的,name比較簡單,相當于標題,observer可以而且必須指定接受哪些name的notification,不同name其含義自然不同,在關系比較遠的模塊間,NSNotificationCenter很實用;

第四:KVO(Key-Value Observing),這個用得比較少,當B模塊對A模塊的屬性狀態感興趣時,可以使用這種方法,參考文檔:Key-Value Observing Quick Start;

第五:一個例子就明白了,它其實就是直接將一個對象的指針和方法作為參數傳給另一個對像,讓另一個對象來調用自己,就是這一句:

  1. UIImageWriteToSavedPhotosAlbum(originalImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);  
  2. #pragma mark -  
  3. #pragma mark UIImagePickerController delegate  
  4. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)Info {      
  5.       
  6.     UIImage *originalImage = [Info objectForKey:UIImagePickerControllerOriginalImage];  
  7.     if(nil != originalImage)  
  8.     {  
  9.          UIImageWriteToSavedPhotosAlbum(originalImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);  
  10.     }  
  11.         ...  
  12. }  
  13.  
  14. - (void) image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {  
  15.     ...  

小結:詳解關于Cocoa編程模塊間協作的內容介紹完了,以上就是我的一點小小的總結,這些方法在模塊間的協作可能會經常使用到的,希望對開始學習cocoa編程的朋友有所幫助!

責任編輯:zhaolei 來源: 博客園
相關推薦

2011-07-08 18:03:30

Cocoa Touch 網絡

2011-08-10 18:37:32

CocoaMac OS X

2023-06-08 08:21:08

多線程編程線程間通信

2011-08-10 18:47:18

Cocoa字符串

2011-08-03 10:24:22

Cocoa Touch 靜態庫

2022-11-13 15:48:19

編程線程GPU

2011-07-22 15:50:06

Cocoa MVC 視圖

2011-08-15 14:27:51

CocoaRunLoop

2011-08-02 13:58:18

Cocoa 框架 Mac OS

2011-08-15 14:47:28

Cocoa嵌入資源文件

2011-07-26 15:29:36

Cocoa 模式

2011-07-28 16:52:34

Cocoa 框架 Mac Os

2017-05-18 10:23:55

模塊化開發RequireJsJavascript

2015-12-30 10:29:40

Git協作流程詳解

2010-07-12 13:20:18

UML協作圖

2021-06-03 08:55:58

面向協議編程

2021-06-04 09:01:27

Cocoa 協議編程 Swift

2011-08-10 16:27:07

Cocoa TouchPlist

2011-08-11 15:46:55

CocoaCocoa Touch框架

2011-07-28 18:11:18

Objective-C Cocoa 編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 盗摄精品av一区二区三区 | 亚洲精品久久久蜜桃 | 一区二区在线不卡 | 一区二区av | 午夜久久av | 亚洲国产一区二区视频 | av黄色在线观看 | 亚州精品天堂中文字幕 | 男女黄网站 | 日韩欧美国产综合 | 免费的色网站 | 免费在线一区二区三区 | 国产精品久久久久久久岛一牛影视 | 日韩欧美国产精品一区二区 | 午夜伦理影院 | 国产精品亚洲综合 | 久综合 | 中文字幕在线免费 | 黄色毛片一级 | jizz视频 | 91久久精品一区二区二区 | 人人干视频在线 | 久久精品一区二区三区四区 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 日韩一二区在线 | 国产欧美日韩一区 | 亚洲天堂av在线 | 欧美一区二区三区在线播放 | 精品国产一区一区二区三亚瑟 | 成人精品一区二区三区 | 日本人做爰大片免费观看一老师 | 国产精品一区二区视频 | 国产精品99久久久久久宅男 | 欧美日韩视频一区二区 | 欧美xxxx做受欧美 | 国产电影一区二区 | 亚洲一区在线日韩在线深爱 | 亚洲精品视频在线观看视频 | 欧美精品99| 欧美一级黄色免费 | 国产精品毛片无码 |