随笔分类 -  ios

摘要:1 UIImage 任意角度旋转 2 图片任意位置裁剪 3 图片圆角剪切 4 图片任意拉伸 5 屏幕截屏 6 图片添加文字及logo水印效果 阅读全文
posted @ 2018-07-13 17:46 紫洁 阅读(346) 评论(0) 推荐(0)
摘要:1 图存保存到相册 2 jpg 转 png 3 jpg 转 jpg 4 gif 图片分解 5 gif 动画展示 6 gif 图片合成 阅读全文
posted @ 2018-07-13 15:02 紫洁 阅读(384) 评论(0) 推荐(0)
摘要:现在的Swift虽然在反射方面相比Objective-C要弱得多,但还是存在一些和反射相关的内容的。 可以通过一个Mirror来获取某元素的一些信息,比如对象的所有属性。 打印结果: 也可以用dump打印其镜像信息: 阅读全文
posted @ 2018-02-07 16:17 紫洁 阅读(249) 评论(0) 推荐(0)
摘要:Swift标准库有一组lazy方法,或者说是计算属性,可以把map和filter这类接受闭包运行的方法实现延时运行。对于运行代价很大的情况,它可以起到不小的性能提升作用。 本来不使用lazy是这样的: 打印结果为: 在没有lazy时,map会按顺序直接运行闭包。 下面先取其lazy结果,后再map: 阅读全文
posted @ 2018-02-07 16:13 紫洁 阅读(442) 评论(0) 推荐(0)
摘要:摘自: UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释、iOS开发:setNeedsLayout和setNeedsDisplay区别 layoutSubviews总结ios layout机制相关方法- (CGSize) 阅读全文
posted @ 2017-08-21 14:46 紫洁 阅读(842) 评论(0) 推荐(0)
摘要:摘自:优化UITableViewCell高度计算Swift版、优化UITableViewCell高度计算的那些事 本文带大家详细探索那篇文章所对应的库(1.2版),这个库就是利用缓存tableviewcell的高度提高滑动的流畅性。 主要是利用Runloop在空闲状态时,后台计算tableviewc 阅读全文
posted @ 2017-08-18 18:22 紫洁 阅读(680) 评论(0) 推荐(0)
摘要:摘自:iOS本地数据存取,看这里就够了 应用沙盒 1)每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒 2)应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer) 应用沙盒的文件系统目录 3)应用沙盒结构分析 阅读全文
posted @ 2017-08-18 15:36 紫洁 阅读(486) 评论(0) 推荐(0)
摘要:Faux Pas是一个Xcode辅助工具,检查iOS或者Mac项目,找到潜在bug,以及可维护性和风格问题。提供了92条规则可供挑选,支持GUI和CLI。目前发布了beta版,提供30天试用。 使用GUI扫描了项目,发现了许多不少有价值的问题,值得我们学习。 编译参数的有益建议,比如-DNDEBUG 阅读全文
posted @ 2017-08-15 10:08 紫洁 阅读(195) 评论(0) 推荐(0)
摘要:参考:iOS 伐码猿熟知—循环利用&无限轮播 阅读全文
posted @ 2017-08-08 21:23 紫洁 阅读(135) 评论(0) 推荐(0)
摘要:1 字典key与模型属性不匹配(模型属性数量>字典键值对数) 2 模型中嵌套模型(模型属性是另外一个模型对象) 3 数组中装着模型(模型属性是数组,数组中是字典模型对象) 阅读全文
posted @ 2017-08-08 14:32 紫洁 阅读(340) 评论(0) 推荐(0)
摘要:参考:http://nshipster.cn/uilocalizedindexedcollation/ UILocalizedIndexedCollation 是一个帮助我们组织列表数据的类,它能够根据地区来生成与之对应区域索引标题。不需要直接创建它的对象,我们可以通过 UILocalizedInd 阅读全文
posted @ 2017-08-07 14:48 紫洁 阅读(575) 评论(0) 推荐(0)
摘要:NSNumber *number = [NSNumber numberWithDouble:123456789.987654]; // 四舍五入的整数 123456790 NSNumberFormatter *format0 = [NSNumberFormatter localizedStringF 阅读全文
posted @ 2017-07-31 11:04 紫洁 阅读(904) 评论(0) 推荐(0)
摘要:摘自:#pragma处理警告 首先#pragma在本质上是声明,常用的功能就是注释,尤其是给Code分段注释;而且它还有另一个强大的功能是处理编译器警告,但却没有上一个功能用的那么多。 clang diagnostic 是#pragma 第一个常用命令: 常见的用法 1. 方法弃用告警 2. 不兼容 阅读全文
posted @ 2017-05-19 11:28 紫洁 阅读(228) 评论(0) 推荐(0)
摘要:摘自:iOS--KVO的实现原理与具体应用 1 KVO是什么? KVO是Objective-C对观察者模式的一种实现,另外一种是通知机制(notification) KVO提供一种机制,指定一个被观察对象(例如A类),当对象的某个属性(例如A中的字符串name)发生更改时,对象会获得通知,并做出相应 阅读全文
posted @ 2017-04-10 11:54 紫洁 阅读(575) 评论(0) 推荐(0)
摘要:weak: 必须为var,必须为可选性(一定得有'?')。对象释放后,weak指针会自动置为nil。 unowned:不可以是可选性(一定不可以有'?')。对象释放后,unowned指针不会自动置为nil。 阅读全文
posted @ 2017-03-24 18:45 紫洁 阅读(219) 评论(0) 推荐(0)
摘要:1 SQLite支持的数据类型 INTEGER 有符号整型 REAL 浮点型 TEXT 字符型类型,采用UTF-8、UTF-16编码 VERCHAR CHAR CLOB 大二进制对象类型,能够存放任何二进制数据 FLOAT DOUBLE 转换成为REAL NUMERIC 转换为INTEGER或者RE 阅读全文
posted @ 2017-03-02 17:45 紫洁 阅读(307) 评论(0) 推荐(0)
摘要:1 JSON:JavaScript Object Notation (1)JSON的基本组织形式 (2)JSON的本质就是字符串 (3)JSON的解析库 (I)iOS原生JSON解析库 (II)第三方库:SBJson、JsonKit、TouchJson (4)实例分析 (5)从文件获取数据 (6)从 阅读全文
posted @ 2017-03-02 11:08 紫洁 阅读(487) 评论(0) 推荐(0)
摘要:向上取整:float ceilf(float); double ceil(double); 向下取整:float floorf(float); double floor(double); 四舍五入:float roundf(float); double round(double); 阅读全文
posted @ 2017-03-02 10:09 紫洁 阅读(51581) 评论(0) 推荐(0)
摘要:NSSet、NSMutableSet是无序的,但是它可以保证数据的唯一性。当插入相同数据时,不会有任何的效果。从内部的实现来说是hash表,所以可以常数时间内查找到一个数据。 NSOrderedSet、NSMutableOrderedSet是有序的。 NSMutableSet、NSMutableOr 阅读全文
posted @ 2017-02-28 16:09 紫洁 阅读(1505) 评论(0) 推荐(0)
摘要:一. 多线程介绍 1 进程:进程是指在系统中正在运行的一个应用程序。 比如同时打开微信、QQ,系统就会分别启动两个进程。 每个进程之间是独立的且均运行在其专用的并受保护的内存空间内。 2 线程:线程是进程的基本执行单元,一个进程要想执行任务,必须得有线程(每一个进程至少要有一个线程)。 比如用微信进 阅读全文
posted @ 2017-02-27 10:51 紫洁 阅读(217) 评论(0) 推荐(0)