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";
.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修饰的方法或变量库外仍可见的属性。
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开发实战细节——通知写法相关推荐
- Xamarin iOS开发实战(内部资料)
Xamarin iOS开发实战 (内部资料) 介绍:本教程是国内Xamarin针对iOS 9开发的唯一教程.本教程针对Mac OS X10.11/Windows 10两种系统平台,讲解如何使用Xama ...
- Xamarin iOS开发实战1.1.3Xamarin版本
Xamarin iOS开发实战1.1.3Xamarin版本 Xamarin提供了免费版和付费版.免费版本包含Xamarin Studio服务.付费版本分为普通版299美元/年.商业版999美元/年和企 ...
- Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序 C#原本是用来编写Windows以及Windows Phone的应用程序.自从Xamarin问世后,C#的作用就发生了很大的变化. ...
- Xamarin iOS开发实战中册 (内部资料)C#苹果应用开发
Xamarin iOS开发实战中册 (内部资料)C#苹果应用开发 Xamarin iOS开发实战中册 (内部资料)C#苹果应用开发 试读样章下载地址:http://pan.baidu.com/s/1j ...
- Xamarin iOS开发实战上册-----2.2.2 使用代码添加视图
Xamarin iOS开发实战上册-----2.2.2 使用代码添加视图 如果开发者想要使用代码为主视图添加视图,该怎么办呢.以下将为开发者解决这一问题.要使用代码为主视图添加视图需要实现3个步骤. ...
- Xamarin iOS开发实战上册(内部资料daxueba.net)
Xamarin iOS开发实战上册(内部资料daxueba.net) 试读样章下载地址:http://pan.baidu.com/s/1mgqQIxE 第2章 用户界面--视图 在iPhone或者i ...
- IOS Swift5.5的通知写法
IOS Swift5.5的通知写法 新建一个Common.swift 文件,把默认的全部删掉.里面书写通知的名字: import UIKit let kWBAppearanceTintColor: U ...
- iOS 开发实战培训
语言概述 苹果iOS是由苹果公司开发的手持设备操作系统.苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch.iPa ...
- 最新仿映客直播APP开发实战项目IOS开发实战8天(最全最新)
最新仿映客直播APP开发实战项目IOS开发实战8天 第 1 章:直播准备 1: [录播] 课程大纲介绍 09:56 2: [录播] 了解直播技术和腾讯云直播 09:54 3: [录播] 基础封装 23 ...
- 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth
小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth 本项目为对小米手环进行二次开发,利用了小米手环蓝牙连接并不安全的特性,连接后可以获取手环数据,并可修改数据. 本实例使用Swif ...
最新文章
- linux arm中断跑马灯,S3C2410 MDK实验---ARM汇编语言实现跑马灯
- STL (13) 非变动型算法
- js 复制图片_不会做ppt?Reveal.js让你复制粘贴另类拉风,简洁优雅又低调
- ABAP Memory/SAP Memory/Shared Buffer/Database
- Chrome 开发者工具 performance 标签页的用法
- cookies默认过期时间_「图」Chrome Canary新版已启动“增强版cookies控制”预览测试...
- tomcat+nginx+redis实现均衡负载、session共享
- java中来获取UUID
- java包含某个字符串_JavaScript判断一个字符串是否包含指定子字符串的方法
- 分析RocketMQ消费端长轮询的源码实现
- mac vscode debug安装调试moodle
- u盘一直提示格式化是什么原因?怎么找回数据?
- 【CTFhub】web-信息泄露-备份文件下载-网站源码_WriteUp
- 3dmax2014植树插件_3DsMax种树插件:ForestPack Pro v6.1.2 For 2015-2019 updated Libraries
- 如何编写测试用例及用例的意义
- 【鼠标§鼠标右键菜单清理四招】
- 复制/粘贴丢失 换行符或者空格
- 全球是一个班(比喻很形象)
- debugbar php漏洞,Laravel-debugbar 开发调试利器
- DNN、RNN、CNN
热门文章
- Java实现图片压缩功能
- uwsgi 的启动、停止、重启
- Specification查询
- 更改C盘用户目录下的用户名(亲测有效)
- 2021阿里云双11云服务器配置表汇总!
- 中国社会为何多犬儒?
- 最新版校园招聘进大厂系列----------(2)美团篇 -----未完待续
- 第六次团队作业——Alpha冲刺之事后诸葛亮
- hackthebox - frolic (考点: 信息搜集 ook解密 base解密 zip 解密 xxd解密 brainfuck解密 playsms安全)
- Python爬虫从入门到精通:(6)数据解析2_使用bs4(BeautifulSoup)_Python涛哥