- 博客(392)
- 资源 (42)
- 收藏
- 关注

原创 夫水之积也不厚,则其负大舟也无力
夫水之積也不厚,則其負大舟也無力1iOS atomic 原子性 和源代码https://blog.youkuaiyun.com/qq_33314190/article/details/882854832runloop相关App启动后,苹果在主线程 RunLoop 里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleasePoolHandler(...
2019-03-02 21:11:32
914

原创 有文事者,必有武备
28iOS 图像渲染原理https://www.jianshu.com/p/a81d48e0e44a27HTTP1.0、HTTP1.1 和 HTTP2.0 的区别https://www.cnblogs.com/heluan/p/8620312.htmlhttps://www.jianshu.com/p/25b762d58e6626 十大经典算法http://www...
2019-02-28 22:01:03
906

原创 工欲善其事,必先利其器
-37 内存泄露监测http://www.alonemonkey.com/2016/05/15/fbretaincycledetector-analyse/ FBRetainCycleDetector源码分析https://blog.youkuaiyun.com/java2013liu/article/details/52242969精准 iOS 内存泄露检测工具MLeaksFind...
2019-01-10 16:45:55
1415

原创 流水不腐,户枢不蠹
-26 Layer 分类在框架中定义有一些特殊的 Layer 可供使用, 这些 Layer 往往具有特定的功能:CATextLayer: 有 string 属性, 它可以自动将该属性表示的文字绘制出来. CAShapeLayer: 有 path 属性, 为 CGPath 类型, 它可以根据是否拥有 fillColor 或 strokeColor 值来决定将路径进行填充或描边, 默认无描边...
2019-01-10 16:42:57
1882
转载 再谈 UITableView 的 estimatedRowHeight(转)好文章
转载自:https://kangzubin.com/uitableview-estimatedrowheight/今天发现之前写的一个基于 UITableView 的列表页面存在如下问题:当列表在滑动过程中,特别是往下滑快接近底部时,右侧的滚动条一直在不断地抖动,并且滚动条的长度也在不断地微小变化;另外,当滑动到底部加载下一页数据并 reloadData 后,列表的内容会整体跳动往...
2018-11-15 17:35:00
1746
原创 Android判断线程是主线程
一:使用Looper类判断Looper.myLooper() == Looper.getMainLooper() 二: Thread类的当前线程Thread.currentThread() == Looper.getMainLooper().getThread() 二: Thread类的当前线程IDLooper.getMainLooper().getThread(...
2018-08-28 10:16:58
1005
转载 Java之——Java8 自定义函数编程
转载请注明出处:https://blog.youkuaiyun.com/l1028386804/article/details/80390682参考:https://www.cnblogs.com/figure9/p/java-8-lambdas-insideout-language-features.htmlhttps://blog.youkuaiyun.com/ioriogami/article/det...
2018-08-26 15:22:57
2030
原创 POST 提交数据方式(Content-Type)
1 application/x-www-form-urlencodedPOST http://www.example.com HTTP/1.1Content-Type: application/x-www-form-urlencoded;charset=utf-8title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=32 ...
2018-08-20 09:54:09
1582
转载 CFRunLoop 学习 例子,控制 runloop 时间
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, t...
2018-07-25 12:03:38
528
转载 iOS NSMachPort 线程与进程间的通信
原创:http://blog.youkuaiyun.com/yxh265/article/details/51483822iOS线程间的通信iOS中,两个线程之间要想互相通信,可以使用:NSMachPort 下面是例子#define kMsg1 100#define kMsg2 101- (void)viewDidLoad { [super viewDidLoad]; ...
2018-07-25 11:20:22
2163
原创 ios 禁用表情
ios 禁用表情 键盘的方式 禁用表情 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ([textField.textInputMode.primaryL...
2018-07-24 11:25:17
641
原创 Xcode里调试 自定义 signal的信号 回调函数的执行
signal信号: signal是一种软中断信号,提供异步事件处理机制。signal是进程间相互传递信息的一种粗糙方法,使用场景: 进程终止相关;终端交互; 编程错误或硬件错误相关,系统遇到不可恢复的错误时触发崩溃机制让程序退出,比如:除0、内存写入错误等。 这里我们主要考虑系统遇到不可恢复的错误时即Crash时,信号相关的应用。signal信号处理是UNIX操...
2018-07-23 15:31:48
1131
原创 sizeThatFits 与 sizeToFit
1 sizeThatFits: 会计算出最优的 size 但是不会改变 自己的 size,而 sizeToFit: 会计算出最优的 size 而且会改变自己的 size。2 实际上,当调用 sizeToFit 后会调用 sizeThatFits 方法来计算 UIView 的 bounds.size 然后改变 frame.size。也就是说,其实我们也可以不使用 [label sizeT...
2018-07-20 16:32:17
1071
原创 iOS 修改UIWebView的UserAgent
// 修改WebView的UserAgent UIWebView *webView = [UIWebView new]; NSString *userAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"]; NSString *appUserAgent = [NS...
2018-07-19 17:15:30
586
原创 UIWebView缓存清理
UIWebView缓存清理的方式https://stackoverflow.com/questions/2523435/how-to-clear-uiwebview-cacheif (lastReq){ [[NSURLCache sharedURLCache] removeCachedResponseForRequest:lastReq]; [[NSURLCache sharedU...
2018-07-10 19:09:29
335
转载 UIView在AutoLayout下的布局过程
使用 Auto Layout 将 View 显示在屏幕上需要的经过三个步骤。更新约束(updateConstraints)通过约束关系计算出center和bounds对subviews进行布局(layoutSubViews)将布局好的view显示到屏幕(drawRect)与之相关的方法有如下八个。setNeedsUpdateConstraints:将 view 标记为需要更新约束,并在稍后触发up...
2018-07-10 17:54:52
522
转载 iOS 全局并发控制
转载:https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/当我用 concurrent queue 来执行大量绘制任务时,偶尔会遇到这种问题: 大量的任务提交到后台队列时,某些任务会因为某些原因(此处是 CGFont 锁)被锁住导致线程休眠,或者被阻塞,concurrent queue 随后会创建新的线程...
2018-07-09 16:44:20
461
原创 dispatch_Sources\dispatch_read\dispatch_I/O\dispatch_once\dispatch_set_target_queue 汇总
GCD Dispatch Sourceshttps://www.cnblogs.com/hlwfirst/p/5492493.htmlGCD dispatch_read 与 dispatch_write 文件读写http://blog.sina.com.cn/s/blog_6d01cce30101hzws.htmlGCD Dispatch I/Ohttps://blog.youkuaiyun.com/u0...
2018-06-15 17:52:40
281
转载 GCD读写文件
转: http://blog.sina.com.cn/s/blog_6d01cce30101hzws.html//GCD读写文件 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); int intbuffer[] = { 1, 2, 3, 4 }; ...
2018-06-14 17:35:02
528
转载 自旋锁
转载 :https://blog.youkuaiyun.com/susidian/article/details/51068858自旋锁(Spin lock)自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的...
2018-06-14 14:09:15
566
原创 Swift Socket 实例 两份资料不错
Swift - 使用vapor socks库进行socket通信(基于TCP、UDP协议)http://www.hangge.com/blog/cache/detail_1588.htmlSwift - 使用socket进行通信(附聊天室样例)http://www.hangge.com/blog/cache/detail_756.html...
2018-06-07 11:50:22
2147
转载 ImagIO图片decode
iOS从磁盘加载一张图片,使用UIImageVIew显示在屏幕上,需要经过以下步骤:1. 从磁盘拷贝数据到内核缓冲区2. 从内核缓冲区复制数据到用户空间3. 生成UIImageView,把图像数据赋值给UIImageView4. 如果图像数据为未解码的PNG/JPG,解码为位图数据5. CATransaction捕获到UIImageV...
2018-06-03 10:18:40
604
转载 ios判断图片格式类型
转载目的:记录bitmap 类型的判断 1、方式一[objc] view plain copy- (NSString *)contentTypeForImageData:(NSData *)data { uint8_t c; [data getBytes:&c length:1]; switch (c) { case 0xFF:...
2018-05-29 15:13:07
1096
原创 图像颜色空间
色彩空间指的是组织色彩的特定方式。一个色彩空间实际上由两样东西构成:颜色模型(acolor model)和映射函数(a mapping function)。我们之所以需要颜色模型是因为它能代表元组代表像素的值。而映射函数将颜色映射到可以被代表的所有颜色的集合。RGB颜色空间 这可能是用的最广的颜色空间。R、G、B分别代表红色(RED)、绿色(GREEN)、蓝色(BLUE)。在这个颜...
2018-05-29 15:00:33
394
转载 GPU 纹理
纹理映射(Texture Mapping)是绘制复杂场景真实感图形最为常用的技术,它可以通过纹理来表达表面丰富的几何细节和光照细节,甚至可以通过映射后纹理的变形来表达物体的几何形状:在未增加物体多边形数情况下,增强了物体的真实感效果。...
2018-05-29 12:02:17
1724
转载 shouldRasterize(光栅化)
shouldRasterize(光栅化)是比较特别的一种离屏渲染:光栅化概念:将图转化为一个个栅格组成的图象。光栅化特点:每个元素对应帧缓冲区中的一像素。 shouldRasterize = YES 在其他属性触发离屏渲染的同时,会将光栅化后的内容缓存起来,如果对应的layer及其sublayers没有发生改变,在下一帧的时候可以直接复用。shouldRasterize = ...
2018-05-29 11:53:48
2133
原创 7篇文章 弄清 OC-对象的内存
1.内存区域栈:存储局部变量 堆:允许程序员手动在堆区申请指定的连续的字节数的空间来使用 BSS段:存储未初始化的全局变量,静态变量 数据段:存储已经初始化的全局变量,静态变量,常量数据 代码段:存储程序的代码2.类加载类加载:当类第一次被访问的时候,会将类存储在代码段中。一旦类被加载到代码区,直到程序结束的时候才会被回收 参考:OC基础-06 对象在内存中的存储细节http://blog.c...
2018-05-23 17:54:09
473
原创 RN和原生互调
OC 调 RNhttps://blog.youkuaiyun.com/pz789as/article/details/52837853https://blog.youkuaiyun.com/xiangzhihong8/article/details/75092576https://blog.youkuaiyun.com/duyanglu/article/details/51203087一、在OC代码中 1、#import "RCT...
2018-05-16 18:51:07
746
原创 UIView top 边的阴影
self.bottomBarView.layer.shadowColor = UIColorFromRGB(0x282D3B).CGColor; self.bottomBarView.layer.shadowOffset = CGSizeMake(0.0f, -2.0f); //[水平偏移, 垂直偏移] self.bottomBarView.layer.shadowOpa...
2018-04-28 15:00:49
776
原创 iphone X iOS 11录音失败出坑
这样设置: [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; 会录音失败。这样设置: [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil...
2018-04-28 14:24:42
2099
原创 iOS GitHub 库创建 与 pod发布
iOS GitHub 库创建 与 pod发布 0 创建 项目工程 ,及 podspec 文件。 1 pod lib lint // 测试 pod spec 文件 语法 2 git tag 0.0.1 // 打tag 3 git push --tags 4 pod trunk register 'xxx@163.com' 'xxx' --description='mac pro' // 注册...
2018-02-23 17:06:10
357
原创 AutoLayout相关的几个易混淆的方法
一、updateViewConstraints - (void)updateViewConstraints NS_AVAILABLE_IOS(6_0); UIViewController中也新增了一个更新布局约束的方法,在AutoLayoutUIView相关API的笔记中,详细讲述了UIView的一组更新布局约束的方法。 这个方法默认的实现是调用对应View的-updat
2018-02-02 17:05:22
396
原创 UITableView 的选中状态
一、cell 在初始化或者重用时,调用 -_configureCellForDisplay:forIndexPath: 方法,这个方法会做一些附带操作,其中会调用 setSelected:animated: 方法,将 cell 的选中状态置为未选中。 1 在 tableView:cellForRowAtIndexPath: 中调用 setSelected:animated: 方法将 ce
2017-12-21 18:12:43
2046
原创 ios 图文混排问题汇总
1 UIlabel +NSTextAttachment + NSMutableAttributedString2 YYLabel+NSTextAttachment + NSMutableAttributedString3 开源库GONMarkuoParser处理富文本4 使用html类似标签完成富文本5 UITextKit文本处理框架 一、iOS YY
2017-11-17 18:02:11
682
转载 NSURLSession与NSURLConnection区别
转:http://www.cnblogs.com/kakaluote123/articles/5426923.html两者的区别主要在以下几个方面: 使用现状NSURLSession是NSURLConnection 的替代者,在2013年苹果全球开发者大会(WWDC2013)随ios7一起发布,是对NSURLConnection进行了重构优化后的新的网络访问接口。从iOS9.0开始, NSURL...
2017-09-05 10:47:08
604
转载 获取任意线程调用栈的那些事
原文: https://bestswifter.com/callstack/BSBacktraceLogger 是一个轻量级的框架,可以获取任意线程的调用栈,开源在我的 GitHub,建议下载下来结合本文阅读。我们知道 NSThread 有一个类方法 callstackSymbols 可以获取调用栈,但是它输出的是当前线程的调用栈。在利用 Runloop 检测卡顿时,子线程检测
2017-08-31 10:42:14
990
原创 ios 整型 位数
32位sizeof(NSInteger)=4sizeof(long long) = 864位sizeof(NSInteger)=8sizeof(long long) = 8
2017-08-25 13:17:18
748
转载 AutoLayout 汇总
一、《AutoLayout(III):浅析动画》http://www.vienta.me/2015/05/18/AutoLayout-%E6%B5%85%E6%9E%90%E5%8A%A8%E7%94%BB%EF%BC%88III%EF%BC%89/在讲动画之前,先讲几个常见的可能会混淆的方法。1.AutoLayout相关的几个易混淆的方法set
2017-07-26 11:11:08
291
原创 系统知识汇总
认真分析mmap:是什么 为什么 怎么用http://www.cnblogs.com/huxiao-tee/p/4660352.html 从内核文件系统看文件读写过程http://www.cnblogs.com/huxiao-tee/p/4657851.html
2017-07-21 15:10:06
267
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人