- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 技术博客收藏
mark 一些比较好的总结!感谢分享gcd 原理https://www.jianshu.com/p/ea419f32a3a9https://www.jianshu.com/p/a043da8424e8FMDBhttps://www.jianshu.com/p/3682795d3f38https://www.jianshu.com/p/e5c6c21dd981htt...
2020-03-27 18:20:50 286
原创 setneedsdisplay layoutifneeded setNeedsLayout
1、setneedsdisplay : 用于 view 的重绘操作,会触发 view 的drawRect: 方法。2、setNeedsLayout 和layoutIfNeeded 区别setNeedsLayout 标记为需要重新布局,异步调用layoutIfNeeded刷新布局,不立即刷新,在下一轮runloop结束前刷新,对于这一轮runloop之内的所有布局和UI上的更新只会刷...
2020-03-26 11:50:10 841
原创 iOS 隐式动画
修改 view 的非 root layer 的属性时会有默认动画效果(0.25秒)。@interface CircleAction : NSObject<CAAction>@property (nonatomic) CGFloat oldProgress;@end@implementation CircleAction-(void)runActionForKey:(N...
2020-03-25 18:23:23 389
转载 id instancetype NSObject *的区别
id和instancetype都可以做方法的返回值。 id类型的返回值在编译期不能判断对象的真实类型,即非关联返回类型,instancetype类型的返回值在编译期可以判断对象的真实类型,即关联返回类型。 id可以用来定义变量, 可以作为返回值, 可以作为形参,instancetype只能用于作为返回值。 使用id修饰的对象是动态类型,编译器在编译期不会去判断其真...
2020-03-24 21:07:25 183
原创 FMDB 使用详解 mark
https://www.jianshu.com/p/67afbcf32808https://blog.csdn.net/huanghuanghonghong/article/details/51203540https://www.jianshu.com/p/7958d31c2a97感谢上面的总结,mark 一下
2020-03-20 21:12:31 182
原创 信号量
dispatch_semaphore_create(long value); // 创建信号量dispatch_semaphore_signal(dispatch_semaphore_t deem); // 发送信号量dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); // 等待信号量...
2020-03-10 14:24:25 192
原创 python 修改文件名称或md5值
一、修改文件前缀(JH-->Jneth)import os//需要修改的类名前缀 (需替换)pre_str = 'JH'// 新的类名前缀 (需替换)pre_to_str = 'Jneth'// 搜寻以下文件类型 (根据自己需求替换)suf_set = ('.h', '.m', '.xib', '.storyboard', '.mm')// 项目路径 (找到自己的项目路...
2020-03-09 19:18:32 1125 1
原创 大端小端总结
什么是大端 / 小端?大端(存储)模式,是指低位保存在高地址,高位保存在低地址中小端(存储)模式,是指低位保存在低地址中,而高位保存在高地址中判断大小端方法1.定义变量int i=1;将 i 的地址拿到,强转成char*型,这时候就取到了 i 的低地址,这时候如果是1就是小端存储,如果是0就是大端存储。void judge_bigend_littleend2(){ ...
2020-03-02 15:31:43 519
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人