1、枚举定义
typedef NS_ENUM(NSUInteger, TYPETEST) {
TYPE1 = 0,
TYPE2 = 1 << 0,
TYPE3 = 2 << 1,
TYPE4 = 3 << 2
};
这种定义的好处在与,可以使用位运算符,| 和 & ,| 运算符可以将类型组合使用,&运算符可以判断出类型,具体可以参考 iOS枚举的巧用,谢谢作者。2、宏定义
#ifdef TYUI 意思是如果有这个TYUI的宏定义就执行下面的方法,没有就跳过
#if !define TYUI 同上
#ifndef 同上
\ 用于在宏定义中换行,即在换行符前添加 \ ,经过预编译,不同行就是一行了
## 用于宏定义中字符串的链接
__VA_ARGS_ 意味着多个参数
具体可以参考iOS中的预编译指令的初步探究,谢谢作者。
3、角标右上角数量的设置
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:2];
4、视图的刷新setNeedsDisplay,会在合适的时候调用drawRect实现view的绘制
setNeedsLayout,会调用layoutSubview实现view的绘制,
具体参考 关于ios中的setNeedsDisplay和setNeedsLayout,谢谢作者以及原作者。
5、cell的出现动画
tabeView的代理方法中有一个willDisplayCell的方法,该方法是在cell即将出现时被调用,可以在方法中添加cell的自定义动画。
具体参考iOS 10 个实用小技巧,谢谢作者。
6、右滑手势pop
苹果对导航栏退出提供了右滑手势支持,即interactivePopGestureRecognizer这个属性,但是如果返回按钮自定义了,这个功能就会失效,当然可以通过重新设置代理来恢复。
具体参考interactivePopGestureRecognizer,谢谢作者。
7、枚举器
苹果推出的面向对象遍历enumerateObjectsUsingBlock
具体参考iOS随笔——初识枚举器,谢谢作者。
8、NSLocale,本地化封装了一些关于语言,文化,规范等一些信息,
使用比如,时间设置成中国的时间,[dateFormatter setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"]];
具体参考NSLocale的一些方法,谢谢作者。
9、af的证书验证
具体参考 afnetworking 中配置 SSL证书,谢谢作者。
10、GCD线程的信号量问题
创建一个信号量dispatch_semaphore_t,当内存资源缺乏时,停止线程并等待,信号量包含方法
具体参考iOS ---线程安全之信号,以及iOS多线程中的dispatch_semaphore_t semaphore(dispatch组和信号量。),谢谢作者。
11、获取硬件设备信息
具体参考iOS 获取手机设备IP地址的两种方法,谢谢作者。
12、跳转设置
UIApplicationOpenSettingsURLString
具体参考iOS 跳转到系统的设置界面,谢谢作者。
13、#ifsef __objc的使用
保证调用的文件是oc文件,具体参考#ifdef __OBJC__宏定义的作用,谢谢作者。
14、断言assert
当程序执行到断言是,判断,如果不符合抛出异常
具体参考 iOS开发65-ASSERT(0)断言在iOS开发中的使用,谢谢作者。
欢迎互相学习交流。
转载请注明原作者地址,谢谢。