-
Xcode中TimeProfile使用
一、对Xcode进行设置如果想要在TimeProfile中直观的查看方法耗时,需要对Xcode进行设置在Xcode->Build Setting->Debug Information Format中设置选项为:DWARF with DSYM File注意:不为DWARF with DSYM File选项的话,在TimeProfile中就只能看到一堆线程二、对TimeProfile进行设置1、在TimeProfile的Call Tree中,右侧面板有三个检查器:record se...…
-
MVC和MVVM关系及对比
关系:M-V-C:model - view - controllerM-V-VM:model - view/viewController - viewModel一、本质:比较MVC和MVVM之后:其实MVVM是在MVC的基础上增加了VM层二、分析:1、将原MVC的V和C统一归为V,即原MVC被简化为:M-V2、再在简化后的础上添加VM层,即:M-V - VM三、图例(截图取自objc.io):1、标准MVC:2、MVC简化为MV:3、MV添加VM变为MVVM:…
-
OC函数式、链式、响应式编程
目的 理解函数式调用 理解链式调用 函数式和链式调用区别 理解响应式编程DEMO点我建议理解链式调用前,先理解函数式调用函数式到链式//声明@interface Animal : NSObject- (Animal *)run;- (Animal *)jump;- (Animal *)say:(NSString *)words;@end//实现@implementation Animal- (Animal *)run{ NSLog(@"run -- "); return...…
-
block和C语言函数对比
目的通过对比block和C语言函数,理解block是函数指针的概念DEMO点我何为block block就是函数指针,可以将函数当做变量、参数来传递 block是一个OC对象,它的功能是预先保存代码片段,并在需要的时候执行 block的出现主要是用来弥补OC中没有(lambda,闭包或者说匿名函数)的语言特性,为函数式编程提供了可能(通俗的讲,就是弥补OC中没有:将一个函数作为参数和变量来使用,这种语言特性) 在下面的截图中,int (^minBlock)(int a, int b...…