日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS开发实战细节——通知写法

發布時間:2023/12/16 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS开发实战细节——通知写法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通知的寫法

1.最普通寫法: [[NSNotificationCenter defaultCenter] postNotificationName:@"notificationName" object:nil];

2.PCH宏定義寫法:#define NotificationName @"NotificationName"

3.寫在.h文件中: static NSString *const NotificationName = @"NotificationName";

4.在.m中定義,.h中暴露: .m NSString *const NotificationName = @"NotificationName"; .h extern 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修飾的方法或變量庫外仍可見的屬性。

NSNotificationName typedef NSString *NSNotificationName NS_EXTENSIBLE_STRING_ENUM; 其實就是NSString *,我們當然可以用。 用NSNotificationName代替NSString *的好處是什么?直觀。別人一看到NSNotificationName就知道你這是在定義一個通知。

因此后續建議采用這種寫法: 最后提供一個完整模板

// Foo.h UIKIT_EXTERN NSNotificationName const GBCartNumberBecomeActiveNotification// Foo.m NSNotificationName const GBCartNumberBecomeActiveNotification = @"GBCartNumberBecomeActiveNotification"; 復制代碼

記得在別的類里添加監聽的時候要導入定義通知名字的頭文件哦,不然會訪問不到這個NSNotificationName

PS:這個文章不錯:程序員眼中的APP

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

總結

以上是生活随笔為你收集整理的iOS开发实战细节——通知写法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。