一句话笔记,某段时间内遇到或看到的某个可记录的点。
- __block和__weak修饰符的区别
- iOS 哪些类是线程安全的,哪些是线程不安全的
- Crash收集修复的?
- iOS 加固
一、__block和__weak修饰符的区别
说白了,之前还真没有好好理一下,理清楚就好了
-
__block
不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。 -
__weak
只能在ARC
模式下使用,也只能修饰对象,不能修饰基本数据类型。 -
__block
对象在block
中指针捕获的,对象值可以改变,__weak
则不可以。 -
__block
对象在ARC
下可能会导致循环引用,非ARC
下会避免循环引用,__weak
只在ARC
下使用,可以避免循环引用。
二、iOS 哪些类是线程安全的,哪些是线程不安全的
- NSMutbaleArray类就是线程不安全的
- NSArray NSCache 类就是线程安全的
- 如何实现一个线程安全的字典?
- 读写锁
- 同步队列的写法
三、Crash收集修复的?
- 第三方工具 Crashlytics,Hockeyapp ,友盟,Bugly
- 第三方开源 KSCrash,plcrashreporter,CrashKit
- 自定义捕获+堆栈符号化。NSException 和 SIGABRT (无法捕获)
都是保存奔溃信息到本地,下次启动的时候上传到服务器 - Xcode查看Crash信息
四、iOS 加固
- 方法名混淆
- 明文字符串混淆
- 反调试
网友评论