iOS開發實戰細節 通知寫法

2021-09-11 12:54:31 字數 1730 閱讀 3029

通知的寫法

1.最普通寫法:[[nsnotificationcenter defaultcenter] postnotificationname:@"notificationname" object:nil];

2.pch巨集定義寫法:#define notificationname @"notificationname"

3.寫在.**件中:static nsstring *const notificationname = @"notificationname";

4.在.m中定義,.h中暴露: .mnsstring *const notificationname = @"notificationname";.hextern nsstring * const notificationname;

具體哪種寫法好,檢視官方文件和api寫法,採用的是第四種寫法。

注釋寫法:[name of associated class] + [did | will] + [uniquepartofname] + notification

蘋果自己的api:

uikit_extern nsnotificationname const uitextfieldtextdidbegineditingnotification; uikit_extern nsnotificationname const uitextfieldtextdidendeditingnotification; uikit_extern nsnotificationname const uitextfieldtextdidchangenotification;

uikit_extern簡單來說,就是將函式修飾為相容以往c編譯方式的、具有extern屬性(檔案外可見性)、public修飾的方法或變數庫外仍可見的屬性。

nsnotificationnametypedef nsstring *nsnotificationname ns_extensible_string_enum;其實就是nsstring *,我們當然可以用。 用nsnotificationname代替nsstring *的好處是什麼?直觀。別人一看到nsnotificationname就知道你這是在定義乙個通知。

因此後續建議採用這種寫法: 最後提供乙個完整模板

// foo.h

uikit_extern nsnotificationname const gbcartnumberbecomeactivenotification

// foo.m

nsnotificationname const gbcartnumberbecomeactivenotification = @"gbcartnumberbecomeactivenotification";

複製**

記得在別的類裡新增監聽的時候要匯入定義通知名字的標頭檔案哦,不然會訪問不到這個nsnotificationname

產品懂技術,就像流氓會武術。技術會點產品,就像會武術的人去耍流氓???

iOS開發 鍵盤通知

uikeyboardwillshownotification uikeyboarddidshownotification uikeyboarddidhidenotification uikeyboarddidhidenotification addobserver與removeobserver需要在...

iOS開發注意細節

1.在初始化方法的時候,只做初始化操作,不要新增動畫等類似操作 2.在使用 delegate 呼叫方法的時候要判斷一下,if delegate respondstoselector selector accordingcityrefreshlist 增加程式的健壯行 3.id initwithnib...

ios開發 通知傳值

通知傳值 流程 1.註冊通知 2.通知中心 傳送一條訊息通知 其中name 名字千萬不要寫錯了 會出現在 3個地方 3.實現通知中心內部的方法 並實現傳值 4.第四步 訊息傳送完 要移除掉 objc view plain copy import firstviewcontroller.h impor...