您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機編程>

iOS系統(tǒng)中一些常見問題

大?。?/span>0.2 MB 人氣: 2017-09-25 需要積分:1

  對于通知,大家想必都不陌生,它是一個單例,允許當(dāng)事件發(fā)生時通知一些對象,讓我們在低程度耦合的情況下,來達到通信的目的。

  通知的優(yōu)勢:

  1.不需要編寫太多代碼,實現(xiàn)比較簡單

  2.對于一個發(fā)出的通知,可以多個對象作出反應(yīng),即是說通知是一對多的形式

  通知的缺點:

  1.在編譯期不會檢查通知是否能夠被觀察者正確處理

  2.在釋放注冊的對象時,需要在通知中心取消注冊

  3.在調(diào)試應(yīng)用時,難以跟蹤程序

  4.發(fā)出通知后,不能夠從觀察者那里獲取任何反饋信息

  通知的基本實現(xiàn):

  - (void)viewDidLoad {

 ?。踫uper viewDidLoad];

 ?。郏跱SNotificationCenter defaultCenter] addObserver:self selector:@selector(test) name:@“test” object:nil];

  NSLog(@“注冊通知 - %@”,[NSThread currentThread]);

  }

  - (void)touchesBegan:(NSSet《UITouch *》 *)touches withEvent:(UIEvent *)event {

 ?。郏跱SNotificationCenter defaultCenter] postNotificationName:@“test” object:nil];

  NSLog(@“發(fā)送通知完成 - %@”,[NSThread currentThread]);

  }

  - (void)test {

  NSLog(@“接收到通知 - %@”,[NSThread currentThread]);

  sleep(3);

  }

  打印結(jié)果:

  2017-06-13 16:53:01.040 通知的基本使用[24531:3283934] 注冊通知 - 《NSThread: 0x600000079c80》{number = 1, name = main}

  2017-06-13 16:53:10.334 通知的基本使用[24531:3283934] 接收到通知 - 《NSThread: 0x600000079c80》{number = 1, name = main}

  2017-06-13 16:53:13.335 通知的基本使用[24531:3283934] 發(fā)送通知完成 - 《NSThread: 0x600000079c80》{number = 1, name = main}

  注意打印結(jié)果:在test方法執(zhí)行完畢之后,才會打印發(fā)送完成的log。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?