06 2018 档案

摘要:开发当中用到通知,通知的定义必须要有一个字符串标识通知的名字。一般可以直接写一个字符串,在通知创建和监听的时候直接写这个字符串。 但这样做非常不好,随手创建写代码当时很舒服,但是后来维护的时候发现通知监听会散落到不同的文件,如果要改通知的名字,每个地方都要改, 将会非常麻烦。 如下面这样 推荐做法: 阅读全文
posted @ 2018-06-25 11:02 wjwdive 阅读(1609) 评论(0) 推荐(0) 编辑
摘要:有时可能会遇到这么一种情况,项目的文件夹中嵌套文件夹,我们的源代码按模块分布在不同层级的文件目录里 每个文件里都有相同的内容。我们想去掉这些信息,或者添加一些信息。 我们该怎么样做呢? python可以很方便的帮我们实现 批量删除重复内容的思路: step1、获取根目录下所有文件的路径 step2、 阅读全文
posted @ 2018-06-22 13:06 wjwdive 阅读(839) 评论(0) 推荐(0) 编辑
摘要:1、自动布局拉伸和压缩优先级 Autolayout中每个约束都有一个优先级,优先级的范围是1~1000.创建一个约束,默认的优先级最高是1000。 Content Hugging Priority:该优先级表示一个控件抗被拉伸的优先级。游戏那几越高,越不容易被拉伸,默认是250。 Content C 阅读全文
posted @ 2018-06-20 10:31 wjwdive 阅读(137) 评论(0) 推荐(0) 编辑
摘要:好多场景会导致循环引用,例如使用Block、线程、委托、通知、观察者都可能会导致循环引用。 1、委托 遵守一个规则,委托方持有代理方的强引用,代理方持有委托方的弱引用。 实际场景中,委托方会是一个控制器对象,代理方可能是一个封装着网络请求并获取数据的对象。 例如:ViewController中需从网 阅读全文
posted @ 2018-06-15 12:56 wjwdive 阅读(955) 评论(0) 推荐(0) 编辑
摘要:ARC当中变量的四种生命周期限定符 __strong __weak __unsafe_unretained __autoreleaseing __strong 是默认的限定符,无需显示引入,只要有强引用指向,对象就会长时间驻留在内存中。可以将__strong理解为reatain调用的ARC版本。 _ 阅读全文
posted @ 2018-06-15 10:33 wjwdive 阅读(268) 评论(0) 推荐(0) 编辑
摘要:强引用, 默认引用类型。被强引用指向的内存不被释放。强引用会对被引用对象的引用计数器+1,从而扩展对象的生命周期。 弱引用, 弱引用是医用特殊的引用类型。它不会增加引用计数器,因而不会扩展对象的生命周期。 OC当中就这两种引用类型。 其他引用类型 软引用, 软引用与弱引用非常相似,只是前者没有那么迫 阅读全文
posted @ 2018-06-15 09:59 wjwdive 阅读(287) 评论(0) 推荐(0) 编辑
摘要:iOS 开发当中,自动引用计数已经是标准的内存管理方案。除了一些老旧的项目或者库已经没有人使用手动来管理内存了吧。 ARC无疑是把开发者从繁琐的保留/释放引用对象逻辑中解脱出来。但这并不是万事大吉了,ARC当中一些编译器规则我们必须清楚。 ARC编译器规则 1、不能实现或调用 retain、rele 阅读全文
posted @ 2018-06-15 09:50 wjwdive 阅读(175) 评论(0) 推荐(0) 编辑
摘要:最近发现一个低级错误,在Model1.h中定义2个接口 @interface 没有在Model1.m中实现 在.h中定义了一个用来声明对象的接口,在.m中要把实现部分写上,不然就会报如上错误。 一般我们定义一个类,会在obj.h, obj.m中分别自动生成 @interface obj:NSObje 阅读全文
posted @ 2018-06-12 15:57 wjwdive 阅读(339) 评论(0) 推荐(0) 编辑
摘要:最近工作中遇到一个问题,发现用简单的AFNetworking封装,不能满足需求。一般情况下,所有的请求会指定到一个url,然后所有的请求都用AFNetworking的二次封装方法。如自己封装的GET,POST方法.这种封装方式也能满足大多数的需求。 我们的情况稍有不同,请求API实际不多,但是都在一 阅读全文
posted @ 2018-06-11 17:11 wjwdive 阅读(2766) 评论(0) 推荐(0) 编辑
摘要:正常情况下, block 缺点: 1、block很难追踪,难以维护 2、block会延长先关对象的生命周期 block会给内部所有的对象引用计数+1, 一方面会带来潜在的循环引用(retain cycle),不过我们可以通过weakself的手段解决。 另一方面,它会延长对象的生命周期 3、bloc 阅读全文
posted @ 2018-06-11 16:16 wjwdive 阅读(921) 评论(0) 推荐(0) 编辑
摘要:算法题目:有两个字符串由不同的字母组成,一长一短,长的为A短的为B。设计一个算法,如果所有在B中出现的字符都在A中出现,则返回true,否则返回false。 如下字符串: 字符串A: abddfdioegdddffsfagj 字符串B: dofsjadg 字符串B中每个字符都在A中出现,返回true 阅读全文
posted @ 2018-06-08 12:11 wjwdive 阅读(368) 评论(0) 推荐(0) 编辑