ZCMUCZX的博客

学习的脚步

ios中的__kind of

一般来说__kindof这个关键字都是用在方法的返回值,这样做的好处其实就是在于方法的返回值可以是其本身也可以是它的子类,首先我们去创建个Person类 @interface Person : NSObject +(id)person; @end然后再去创建个Man类 #import "...

2017-12-31 09:31:06

阅读数:140

评论数:0

RAC-bind的实现浅析

简单的先附上一段代码,这里就是给subject取绑定一个信号,然后subject去发送数据之后可以在^RACSignal * (id value, BOOL *stop)这个block进行处理,然后之后返回的话就返回[RACReturnSignal return:value]; 以处理完数据包装成...

2017-12-31 07:47:00

阅读数:180

评论数:0

RAC中的宏浅析

讲道理刚刚学RAC的时候点击宏进去的话其实是一脸懵逼的,然后自己看了下又看了几篇文章也有了一定的了解现在就简单的介绍下。 一样的从@weakify着手,我们点击进去会看到下面的代码,其中关于rac_keywordify是在我的同类的文章中讲过,这里就不介绍了,这里主要想记录下metamacro_f...

2017-12-29 20:23:07

阅读数:309

评论数:0

RAC中的@weakify和@strongify浅析

其实如果我们打开Xcode中查看预编译之后宏被替换的结果我们就会发现@weakify(self)被替换成了下面这个 @autoreleasepool {} __attribute__((objc_ownership(weak))) __typeof__(self) self_weak_ = (s...

2017-12-29 16:42:28

阅读数:369

评论数:0

RAC的基本使用

RAC其实可以帮我们做的事情很多很多,而且也很简单,并且代码和流水线一样这样下来也很好的阅读,能把业务逻辑放到一块进行处理,接下来就来简单的介绍下 这里使用的版本是ReactiveObjC 3.0.0的版本 1、代替代理,比如说我们想让按钮的点击事件本来在A.m中做的处理,想要在B.m中收到,其...

2017-12-28 13:08:13

阅读数:322

评论数:0

Masonry浅析

首先我们可以先写下最常用的代码 [btn mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.equalTo(@10);         make.right.bottom.equalTo(@1...

2017-12-26 06:58:03

阅读数:122

评论数:0

RAC浅析

什么是RAC? 其实RAC全称ReactiveCocoa,是GitHub上面一个开源的项目,其实RAC的整体的思想就是函数响应式编程。为什么这么说就好比是这样的有三个变量 a,b,c,如果先前我们给a赋值为2,b赋值为1,这个时候如果我们让c=a+b,c是为3,但如果我们这个时候去改变a的值为1,...

2017-12-25 23:05:12

阅读数:95

评论数:0

备忘录模式浅析

其实备忘录模式就是在不破坏封装的前提下,去捕获一个对象的内部的状态,并在这个对象之外去保存这个状态,这样的话之后就可以把这个对象恢复到原先保存的状态。 备忘录模式在很多软件中都有用到,因为现在很多软件都可以有撤销操作,其实就是把先前的某个状态去记录下来了。就好比在有些游戏中,在你退出游戏,你原本...

2017-12-24 12:51:26

阅读数:97

评论数:0

外观模式浅析

外观模式(门面模式):其实就是通过包装,我们可以在外界去调用统一的接口,可以这么说在外面我们所能看到的是外观对象,而不会看到里面的实际的操作,和里面的对象,这样的话其实就是让我们的代码更加好阅读,以及增强了可维护性。 外观模式的基本概念就是 要求一个子系统的外部和其内部的通信必需通过一个统一的...

2017-12-24 09:27:46

阅读数:179

评论数:0

ios-信任服务器证书

当我们使用https去进行网络请求的时候,都会收到服务器给我们的证书,而这些证书有分为机构认证的证书,也有是自己签发的证书。在ios中如果我们是去请求的有机构认证的去发送https的请求,就不需要去做处理,但是如果是自签证书,我们必须要去做处理,否则的话是拿不到数据的。所以我们需要在一个代理方法中...

2017-12-22 19:53:01

阅读数:488

评论数:0

原型模式浅析

其实在日常的开发中,对于有一些对象的创建会很复杂,而如果这个时候我们要去创建一个和之前我们创建的对象几乎一样的对象,而且只有轻微的变动的话,其实我们就可以用原型模式来做,从这个原型对象中拷贝出来。 其实总的概念就是让原型对象让它生成自己的复制品,就可以节省创建它们的大量的时间和精力,因为这样比创...

2017-12-22 08:22:36

阅读数:87

评论数:0

装饰模式浅析

基本概念 装饰模式是动态的给一个对象添加一些额外的职责,相对于扩展功能来说,装饰模式比生成子类更加灵活。其实它的思想就在于向对象中去添加行为,而不去破坏其原有的风格,也就是说增加了新功能的对象是同一个类的加强版,就好比一张照片,我们给它增加了一个相框,任何增强的功能都可以进行动态的添加或者删除,...

2017-12-22 06:11:08

阅读数:134

评论数:0

模板方法模式浅析

模板方法模式的话其实就是好比我们在做各种各样的汉堡的时候,有鸡肉汉堡,牛肉汉堡等等,那么其实做汉堡的步骤的话都有需要准备面包啊,要什么沙拉酱啊还是番茄酱啊,这些通用的步骤其实是有的,这样的步骤其实就可以被称之为是模板方法,因为我们在做其他的一些汉堡的时候其实去修改的调用这些方法就可以了。 模板方法...

2017-12-20 11:46:30

阅读数:98

评论数:0

责任链模式浅析

责任链模式的话其实就是使多个对象都有机会去处理请求,这样可以避免请求的发送者和接受者之间的发生耦合,这个模式是将这些对象去连成一条链,并且沿着这条链去传递请求,直到有一个对象可以去处理这个请求。这样的好处就在于发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这这样我们就可以在不影响客...

2017-12-19 21:44:59

阅读数:71

评论数:0

ios-NSURLConnection多线程下的问题

首先先介绍下它的几个方法和一些基本的概念,当我们去使用了下面的代码区创建连接发送请求的时候,其实下载操作是在主线程中执行的 NSURLConnection * conn = [NSURLConnection connectionWithRequest:request delegat...

2017-12-19 19:07:11

阅读数:151

评论数:0

组合模式浅析

组合模式的概念其实就是将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性,因为组合模式其实就是不想让客户端知道它是在处理那些类型的节点。 组合模式可以把相同基类型的对象组合到树状的结构中,所以其中的父节点是包含同类型的子节点。”部分-整体“的...

2017-12-17 20:29:12

阅读数:88

评论数:0

迭代器模式浅析

首先还是官话,迭代器提供了一种顺序访问聚合对象中元素的方法,而不用去暴露结构的底层表现和细节。迭代器定义了一个用于访问集合元素并记录当前的元素的接口。不同的迭代器可以去执行不同的迭代的策略。 迭代器模式的缺点:由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类...

2017-12-17 15:38:46

阅读数:113

评论数:0

证书的格式以及证书的知识点

在ios中是不能去使用PEM格式的证书的,而OpenSSL默认生成的都是PEM格式的证书 在ios开发中需要用到的是DER格式的证书也就是二进制编码格式的,而PEM则是Base64编码格式的 .der文件一般是包含公钥和一些其他的信息 以.p12为后缀的证书中包含私钥、公钥及其证书, ...

2017-12-16 19:59:51

阅读数:107

评论数:0

ios-手动实现KVO简单版

知道KVO的实现原理的应该都知道,其实在我们去设置监听对象的属性的时候,对象的类会在运行时被改变,改成系统生成的一个类,会在这个子类中重写被观察属性的方法,当然也会去调用原本属于那个类中的set方法。关于KVO的实现可以详细请看http://blog.csdn.net/zcmuczx/articl...

2017-12-15 23:28:45

阅读数:357

评论数:0

中介者模式

基本概念 在面向对象的设计中是鼓励把行为分散到不同的对象中的,虽然把行为分散到不同的对象之间能增加复用性,但是这样的话可能会导致对象与对象相互关联的越来越多,这样的话就会使对象很难在不依赖对象的情况下独立工作,而且由于行为分布于多个对象,如果我们要去修改某个行为的话可能就很难的去修改,这样的话我...

2017-12-15 19:57:28

阅读数:116

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭