-
Swift-String
更新于2016.07.13,当前Swift版本Swift 2.3,至少支持到Swift 3.0 (3.0文档可供参考)万恶的起源:扩展字形集群 Extended Grapheme ClustersSwift中每个字符(Character)都是一个扩展字形集群(Extended Grapheme Clusters),由一个或若干个Unicode标量(Unicode Scalar)排列组成。抛弃以上专业的说法,先看如下代码,再进行通俗理解://代表国籍的Unicode Scalars :...…
-
Run loop基础概念整理
因为工程原因,恶补了run loop的一些知识,参考Apple官方文档和部分翻译,现整理出来当做巩固和日后参考。参照Apple官方文档的介绍,run loop是与线程紧密联系在一起的,一个线程将会有一个run loop,而一个run loop也仅对应一个线程。一个run loop是一个事件处理的循环,用来调度工作和处理输入事件。Run loop的作用是当有事件需要处理时保持线程的执行以及当前无事件时休眠线程。通俗而言,run loop使线程能够不断地处于“接受事件和消息 -> 唤醒线...…
-
使用IBDesignable和IBInspectable构建自定义UI控件
怎么突然弄起这个了之前习惯了代码+frame布局,突然觉得是时候征服一下StoryBoard、Xib和自动布局了。偶然搜索到CocoaChina上一篇去年的文章(如何在iOS 8中使用Swift和Xcode 6制作精美的UI组件),居然可以用IBDesignable和IBInspectable构建直接在StoryBoard和Xib上显示和编辑的控件!(原谅我见识浅薄)顿时眼前一亮,于是自己也跟着教程学了一些基础。What’s thisIBDesignable:使用IBDesignable去...…
-
关于GPUImageMissEtikateFilter、 GPUImageSoftEleganceFilter、GPUImageSoftEleganceFilter多次处理图片返回nil的解决方案
最近工程因为涉及到滤镜的应用而用到了GPUImage库,其自带的一些滤镜使用起来可谓十分方便,但是在使用GPUImageAmatorkaFilter、GPUImageMissEtikateFilter和GPUImageSoftEleganceFilter时却遇到了奇怪的问题,这三个滤镜可以正确的在图片预览栏处理图片,却不能在图片的主要视图处理,且生成的图片全为nil。对于这个问题原因的产生,必须先说说自己项目中滤镜的组织结构和使用方式,大致结构如下所示:如上图所示,滤镜统一放在一个滤镜数组...…