- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 iOS中Block完全详解
欢迎大家关注我的个人博客:https://darkknightkazuma.github.io#一、Block基础介绍##1、概念介绍Block又称为块或块对象,它是苹果在OSX10.6和iOS4.0中新加入的功能,是C语言层面的特性及功能实现,类似其它语言的闭包(closure)功能.当时苹果正使用LLVM的clang作为C语言的编译器来改进C/OC/C++/OC++等的编译处理,Blo...
2020-04-07 20:27:28
2313
原创 iOS开发中的MVP架构
由于最近开发的新项目使用了MVP(Model View Presenter)架构,故在此做一些记录。目前初步的理解MVP为对MVC的进一步的解耦,尤其是对C层进行了很好的瘦身,将任务分摊到了M和P层。MVP的各个层的作用简单总结一下:Model:该层和MVC中的Model层相似,但是多了对数据的存储和网络请求的操作。MPV中将网络请求的执行和数据库的操作都放在了Model层,也就是说M...
2018-07-15 18:39:52
929
原创 iOS关于property中的atomic和nonatomic
首先这两个属性特质是为了处理多线程安全问题,那么什么是多线程安全,多线程安全就是多个线程访问同一段代码、指针区域、内存区域的时候出现的异常不安全情况。首先,我们要知道内存的访问时串行的,并不会导致内存数据的错乱或者应用的crash,以及读写的内存长度小于等于地址总线的长度,那么读写的操作是原子的,一次完成。例如BOOL,int,long在64位系统下的单次读写都是原子操作,无需担心线程安全问题。那...
2018-04-09 16:24:52
509
原创 iOS手动分配线程栈空间
+(NSThread *)creatThreadWIthTarget:(id)target selector:(SEL)selector object:(id)argument stackSize:(NSUInteger)size {//栈空间的最小值为16kb,且必须为4k倍数 if ((size % 4096) !=0) {//不是4kb的倍数则返回nil;
2018-02-03 16:52:47
743
原创 iOS耗电优化
耗电优化代码,根据需要开启关闭一些耗电操作- (BOOL)shouldproceesdWithMinLevel:(NSUInteger)minLevel{//minLevel1~100 UIDevice *device = [UIDevicecurrentDevice]; device.batteryMonitoringEnabled =YES;//开启电量监控
2018-02-02 17:29:38
1123
原创 unsafe_unretained和weak弱引用避免保留环(循环引用)区别
unsafe_unretained和weak都可以作为属性特质避免循环引用,他们的区别是:unsafe_unretained所修饰属性是不安全的,而且不归此事例拥有,如果系统已经把属性所指的那个对象回收,那么在回收的对象上调用方法会导致程序崩溃,而weak所修饰属性则会指向nil,这样就不会导致程序崩溃。
2017-12-15 17:51:22
354
Run Loops.pdf
2020-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人