博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  iOS

iOS
摘要:/// 类方法,返回自身 + (Class)class { return self; } /// 实例方法,查找isa(此处返回类对象或者元类对象) - (Class)class { return object_getClass(self); } Class object_getClass(id o 阅读全文

posted @ 2020-11-24 00:22 肖无情 阅读(108) 评论(0) 推荐(0)

摘要:在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有。1.先看看setValue: forKey:的定义 扩展NSMutableDictionary的一个类别,上面注释说的很 阅读全文

posted @ 2020-11-24 00:16 肖无情 阅读(180) 评论(0) 推荐(0)

摘要:内存对齐规则 1:数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第 一个数据成员放在offset为0的地方(即首地址的位置),以后每个数据成员存储的起始位置要 从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组, 结构体等)的整数倍开始(比如int为4字节 阅读全文

posted @ 2020-11-23 22:47 肖无情 阅读(309) 评论(0) 推荐(0)

摘要:1、kvo的本质 1.1、引入 1.2、isa的指向 1.3、方法的调用流程 那么setAge 和NSSetXXXValueAndNotify怎么关联的呢? 1.4、面试回答: 2、如何手动触发KVO 3、直接修改成员变量会触发kvo吗? 4、通过kvc修改属性值(或者成员变量,没有setter)会触发kvo吗? 5、通过kvc获取值的过程,原理是什么? 阅读全文

posted @ 2020-11-23 22:31 肖无情 阅读(83) 评论(0) 推荐(0)

摘要:##1、Category 1.1、原理 #import "FQPeople+Test.h" @implementation FQPeople (Test) + (void)test{ } - (void)test1{ } @end 分类的对象方法test1存放在类对象FQPeople中 分类的类方法 阅读全文

posted @ 2020-11-23 22:03 肖无情 阅读(641) 评论(0) 推荐(0)

摘要:1、分类中添加关联属性 类中声明属性 @property(nonatomic,assign) int age; 相当于 @interface People : NSObject { int _age; } - (void)setAge:(int)age; - (int)age; @end - (vo 阅读全文

posted @ 2020-11-23 21:55 肖无情 阅读(159) 评论(0) 推荐(0)

摘要:第一步,从https://github.com/SnapKit/SnapKit下载源码的ZIP包,解压出来是这个样子的: 第二步,新建一个iOS工程(Swift版本的),并将SnapKit-develop文件夹中的SnapKit.xcodeproj拖到项目中。 第三步,按照图中标注的顺序点击。 第四 阅读全文

posted @ 2018-01-31 14:29 肖无情 阅读(207) 评论(0) 推荐(0)

摘要:block 捕获自动变量的瞬间值; 注释在代码中;请参考傻瓜学编程之block_3 阅读全文

posted @ 2017-10-11 22:20 肖无情 阅读(328) 评论(0) 推荐(0)

摘要:1、引出 a:必须获取finalValue函数的名字, b: finalValue如果想使用 dd,pp (也即finprint中的形式参数 j和i) 必须传递到finalValue中才可以使用; 1.2、不用必须获取finalValue函数的名字, 1.3、不用传递参数参数也可以访问finprin 阅读全文

posted @ 2017-10-10 23:26 肖无情 阅读(523) 评论(0) 推荐(0)

摘要:block的实质 以一个简单的实现为列子; 终端:clang -rewrite-objc 类文件名.m cpp文件中关键代码: 运行时的myBlcokTest方法; 去掉类型转化 __People__myBlcokTest_block_impl_0:是一个结构体 包含两个成员: 通过结构体的构造函数 阅读全文

posted @ 2017-10-10 23:20 肖无情 阅读(278) 评论(0) 推荐(0)

摘要:nil/Nil/NULL/NSNull的区别 nil/Nil/NULL/NSNull的区别 nil/Nil/NULL/NSNull的区别 nil/Nil/NULL/NSNull的区别 一个简单的小例子: NSObject *obj = nil; NSLog(@"%@",obj); =>null NS 阅读全文

posted @ 2017-10-10 23:18 肖无情 阅读(292) 评论(0) 推荐(0)

摘要:来源: http://blog.csdn.net/jiadabin/article/details/52129789 来源: http://blog.csdn.net/jiadabin/article/details/52129789 来源: http://blog.csdn.net/jiadabi 阅读全文

posted @ 2017-09-24 21:48 肖无情 阅读(1465) 评论(0) 推荐(0)

摘要:知识点一: NSOperation是个抽象类。只能使用它的子类来封装任务。有三种方式来封装任务。 NSOperation(不使用NSOperationQueue的情况下)需要使用start() 才能开启操作, 并且默认情况下(只有一个操作,如果有两个或多个操作呢?)在当前线程中同步执行操作; 注意: 阅读全文

posted @ 2017-09-22 09:21 肖无情 阅读(201) 评论(0) 推荐(0)

摘要:NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; _session = [NSURLSession sessionWithConfiguration:config 阅读全文

posted @ 2017-09-12 21:53 肖无情 阅读(1586) 评论(0) 推荐(1)

摘要:iOS开发SDWebImageOptions理解 原文 http://www.cnblogs.com/WJJ-Dream/p/5816750.html typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) { SDWebImageRetryFailed 阅读全文

posted @ 2017-07-19 11:47 肖无情 阅读(3519) 评论(0) 推荐(0)

摘要:Core Graphices 设置渐变 Quartz 提供了两种设置渐变的方式 CGShadingRef and CGGradientRef 尝试CGGradientRef 的使用 参数更具体的意义请查看: http://blog.csdn.net/u012890117/article/detail 阅读全文

posted @ 2017-07-17 11:21 肖无情 阅读(260) 评论(0) 推荐(0)

摘要:查看Assets.xcassets打包ipa之后Assets.car的图片资源 不经常使用 记录一份;原文地址http://www.jianshu.com/p/a5dd75102467 cartool github地址:https://github.com/steventroughtonsmith/ 阅读全文

posted @ 2017-07-13 10:14 肖无情 阅读(542) 评论(0) 推荐(0)

摘要:Core Graphices 获取上下文的三种方式: 1、自定义view 重写view 的 drawRect:(CGRect)rect方法 draw的调用时机 1.如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用。 2.该方法在调用sizeThatFits后被调 阅读全文

posted @ 2017-07-11 15:06 肖无情 阅读(242) 评论(0) 推荐(0)