摘要: 现在都9102年了谈这个runloop实在是多余,但是最近发现自己以前理解的知识点有的都忘了,如题。所以写这个文章记录一下,以后记不清了就返回来看看。如有不当之处,还请大家指正。本文是基于苹果官方文档的解读,大多数内容在文档中都可以找到,其相关文档为:https://developer.apple. 阅读全文
posted @ 2019-03-21 00:04 Alex.xue 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Blocks是带有自动变量(局部变量)的匿名函数,能够捕获它所在函数内部的变量。实质是OC对闭包的对象实现,是一种特殊的数据类型,其可以作为变量被定义、可以作为参数、可以作为返回值,block的声明与赋值只是保存了一段代码段,在调用时执行内部的代码。block的设计思想是可以将有意义的代码片段组群成 阅读全文
posted @ 2018-09-17 14:18 Alex.xue 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 1.Hash方法什么情况下会被调用 当对象被添加到集合NSSet中时,由于NSSet是无序的不能有重复对象的集合,所有要根据Hash值来快速查找集合中的对象,以判断集合中是否已存在该对象。 当对象被设置为NSDictionary中的key时,对象的hash方法会被调用用来生成唯一的标识符。同时为了提 阅读全文
posted @ 2018-05-22 19:03 Alex.xue 阅读(192) 评论(0) 推荐(0) 编辑
摘要: Masonry不常用到的方法 关于mas_key Masonry中用来标记view的key值(a key to associate with this view),通过runtime在view中添加的属性。 mas_key最大的用处是用来在发生约束冲突时,清晰的标记出冲突的出处。例如: 在没有定义m 阅读全文
posted @ 2017-11-03 16:22 Alex.xue 阅读(1595) 评论(0) 推荐(0) 编辑
摘要: 1.监听按钮点击事件 @weakify(self) [[self.submitBnt rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) { 阅读全文
posted @ 2017-07-19 15:45 Alex.xue 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 删除self.view中的所有subview 1.方法一: NSArray *array = [self.view subviews];[array makeObjectsPerformSelector:@selector(removeFromSuperview)]; Tips; - (void)m 阅读全文
posted @ 2015-09-22 17:58 Alex.xue 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 在OC中使用“头文件”与“实现文件”来区隔代码。头文件后缀用.h,实现文件后缀用.m。在编译文件时,引入其他的文件时,需加入#import "xxxxxx.h"这句话。这种变化可行,但是不够优雅。因为在很多时候我们只需要知道有一个类叫这个名就好,而不需要知道此类的全部细节。所以我们需要这样写@cla... 阅读全文
posted @ 2014-10-23 19:36 Alex.xue 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 使用字面量语法可以缩减源代码长度,是其更为易读。注意事项:用字面量语法创建数组时要注意,若数组元素对象中有nil,则会抛出异常。用字面量数组创建数组,其效果等于是先创建了一个数组,然后把方括号内得所有对象都加到这个数组中。例如:id obj1 = @"obj1";id obj2 = nil;id o... 阅读全文
posted @ 2014-09-17 19:59 Alex.xue 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 从苹果的官方文档来看,OC对应用程序的内存管理提供了2种方法。 第一种即“manual retain-release”(MRR),手动保留释放,也可理解为手动引用计数。 第二种,“Automatic Reference Counting”(ARC),自动引用计数。但是ARC并不等同垃圾回收。在苹果的 阅读全文
posted @ 2013-05-17 00:31 Alex.xue 阅读(260) 评论(0) 推荐(0) 编辑