1. 程式人生 > >ios 通知NSNotificationCenter 的名字可否同名

ios 通知NSNotificationCenter 的名字可否同名

最近公司招人,面試了幾個人,總是問這麼個問題,

當我建立通知時可否建立兩個同名的通知,竟沒有一個人回答說可以。

經過實測在同一個專案中可以存在多個同名的通知,最後造成的結果是建立了幾個這個通知就傳送給了各自的通知。

比如我在兩個類裡面都建立了名為test的通知,

gkfdd類

#import "gkfdd.h"

@implementation gkfdd

- (id)init {

self = [superinit];

if (!self) {

returnnil;

}

[[NSNotificationCenterdefaultCenter] addObserver:selfselector

:@selector(fjsd) name:@"test"object:nil];

returnself;

}

- (void)fjsd {

NSLog(@"haha1");

}

@end

fds類

#import "fds.h"

@implementation fds

- (id)init {

self = [superinit];

if (!self) {

returnnil;

}

[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(fjsd) name:@"test"object:nil

];

returnself;

}

- (void)fjsd {

NSLog(@"haha2");

}

@end

ViewController類

#import "ViewController.h"

#import "gkfdd.h"

#import "fds.h"

@interfaceViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[superviewDidLoad];

gkfdd *s = [[gkfddalloc] init];

fds *d = [[fdsalloc]

init];

[[NSNotificationCenterdefaultCenter] postNotificationName:@"test"object:self];

//[[NSNotificationCenter defaultCenter] postNotificationName:@"haha" object:self userInfo:nil];

}

- (void)didReceiveMemoryWarning {

[superdidReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

 最後打印出

2015-11-05 15:48:29.512 notification[20402:3347336] haha1

2015-11-05 15:48:29.512 notification[20402:3347336] haha2

所以我覺的程式設計師要追求“為什麼”是很有必要的





相關推薦

ios 通知NSNotificationCenter名字可否同名

最近公司招人,面試了幾個人,總是問這麼個問題, 當我建立通知時可否建立兩個同名的通知,竟沒有一個人回答說可以。 經過實測在同一個專案中可以存在多個同名的通知,最後造成的結果是建立了幾個這個通知就傳送給了各自的通知。 比如我在兩個類裡面都建立了名為test的通知, gkfdd

iOS系統NSNotificationCenter中的常用通知名稱

//音訊 AVF_EXPORT NSString *const AVAudioSessionInterruptionNotification //音訊中斷出現 AVF_EXPORT NSString *const AVAudioSessionRouteChangeNotification

iOS 通知中心 NSNotificationCenter(訊息機制)

今天專案要用到NSNotificationCenter,我喜歡叫它訊息(有的地方叫通知)。前兩天有弄過訊息推送,所以想對不瞭解的人解釋一下,ios訊息推送與這個訊息不是一回事!(我感覺他倆名字有的相似,怕有人誤會) 因為本人菜鳥一枚,所以之前弄過一次這個。但是今天要用的時候

iOS 通知中心 NSNotificationCenter & NSNotification

通知中心是 Foundation 框架的一個子系統,它嚮應用程式中註冊為某個事件觀察者的所有物件廣播訊息(即通知)。(從程式設計角度而言,它是 NSNotificationCenter 類的例項)。該事件可以是發生在應用程式中的任何事情,例如進入後臺狀態,或者使用者開始在文

快速使用 NSNotificationCenter iOS通知

//建立一個訊息  [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(notice:)name:@"123"object:nil]; //傳送訊息  [[NSN

OC學習篇之---通知 NSNotificationCenter

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

ios-通知中心原理

關於通知中心,我們應該都去發過通知以及去監聽這個通知,我們下面就做一個簡單的探析。首先我們可以先通過打斷點的方式去po [NSNotificationCenter defaultCenter]去檢視它的資訊,我們會發現有很多系統的通知在裡面,在裡面我們可以找到我們釋出的通知。

iOS 通知(NSNotification)的簡單使用

通知:NSNotification,是iOS開發中一種重要的設計模式,它的實質是程式內部提供的一種廣播機制。把接受到的訊息根據內部訊息轉發表,將訊息轉發給需要的物件。 通知這種設計模式,在開發中常用來不同類之間的通訊,也就是常說的頁面之間的傳值。當然它不僅僅只有這一種應用場

iOS 通知對應的方法多次執行問題

今天在優化圖片上傳的時候,因為七牛每次都只能上傳一張,所以採用了遞迴的方法,在遞迴執行完之後,發出通知,然後再將圖片名上傳給伺服器,奇怪的是我發出通知的地方只執行一次,但是註冊通知SEL方法卻會執行多次,而且是在第二次上傳的情況下,會遞增的執行這個方法。以前使用通知也沒

IOS 通知+非同步通知詳解

一、通知的基本使用 每一個應用程式都有一個通知中心,專門負責協助不同 物件之間的訊息通訊。 任何一個物件都可以向通知中心釋出通知,描述自己在做什麼。其他感興趣的物件可以申請在某個特定通知釋出時(或在某個特定的物件釋出通知時)收到這個通知。 //一個通知

iOS 通知傳值

    //建立通知      NSNotification * notification = [NSNotification notificationWithName:@"tongzhi" object:nil userInfo:nil]; //通過通知中心傳送通知

修改iOS工程的名字

我們在iOS開發中,難免會遇到專案做到一半要改名字的情況。如果專案名差的太大,工程名看起來總是不舒服的,有良心的開發者可能就會想著為工程改個貼切的名字,那麼你就為用到本文記錄的內容。 如果我們開發的兩個專案相差不大,只有部分主題、佈局有更改,那麼我們就可以拷貝之前已經完成的

iOS 修改工程名字

前言:在iOS開發中,有時候想改一下專案的名字,都會遇到很多麻煩。直接改專案名吧,XCODE又不會幫你改所有的名字。總是有很多檔案、資料夾或者是專案設定的項。而且都是不能隨便改的,有時候改著改著,編譯不了。所以各位重新命名專案時,記得先備份好一份噢。本文我會介紹一種方法,

奔五的人學iOS:通知所有介面更新

好久沒寫東西了,今天來留個筆記。 畢竟沒能全面瞭解iOS的工作機制,匆忙用工程來練手,有些比較簡單的問題,解決起來還是走了些彎路。 在我的工程中,有後臺工作的程式碼,後臺工作完成後需要通知前臺所有頁面重新整理,最初我使用自定義的protocol來處理,理論上是可行的,我將所

iOS 通知的使用,以及場景(未確定版本)

首先我們要再處理事件的視圖裡面建立通知(比如。視圖裡面的按鈕被點選了,但是這個事件不能在視圖裡面解決,就需要用通知) 一、首先 //建立通知 NSNotification *noti

iOS通知中心NSNotificationCenter應用總結

iOS中通知中心NSNotificationCenter應用總結 一、瞭解幾個相關的類 1、NSNotification 這個類可以理解為一個訊息物件,其中有三個成員變數。 這個成員變數是這個訊息物件的唯一標識,用於辨別訊息物件。 @property (readonly, cop

iOS NSNotificationCenter與自定義通知的封裝(PSSNotificationCenter)

前言 作為iOS開發者,大家應該都使用過系統通知(NSNotificationCenter),無非就是三步,1. 註冊通知,2.傳送通知,3.銷燬觀察者,我在這裡就不多解釋了;。如果忘記銷燬觀察者,ios9之前是會崩潰的。因此我就有了自己實現全域性一對多分發通

ios NSNotificationCenter接受通知不能操作UI執行緒

今天遇到了一個很奇怪的問題,整合融雲聊天,,獲取群組未讀訊息數量的時候,我寫了一個通知,再通知中更新tableview  Cell中的訊息數量,但是訊息數量改變的很慢,而且有時候不更新  我是更新某一個cell    

iOS開發:NSNotificationCenter通知中心的使用

        在開發過程中,使用通知的地方還是很多的,通知中心(NSNotificationCenter)實際上上一個訊息通知機制,是在程式內部提供的一種廣播機制。舉一個經典的應用場景:任意物件可以傳送通知到中心,同時任意物件也可以監聽中心傳送的通知。也就是說,把接收到的

iOS通知中心(NSNotificationCenter)的使用總結

轉載自:https://my.oschina.net/u/2340880/blog/406163 摘要: NSNotification是IOS中一個排程訊息通知的類,採用單例模式設計,在程式中實現傳值、回撥等地方應用很廣。 iOS中通知中心NSNotificatio