小唐朝的技术blog

小唐朝的技术blog

我的职业笔记,这里展示着我认为适合收藏的代码,以及一些职业上的点滴。

有想法就去实现,这样才能成长!

我的Github

欢迎访问,如果喜欢请给个star

最新的、较全的 cocoapods 指南

​ 最近一段时间经常遇到iOS开发圈里的的朋友在问cocoapods的问题,cocoapods自从1.8正式推出CDN后在大陆使用问题不断。众所周知的gfw导致在大陆连接境外的服务器丢包率奇高,然后又有中国特色的DNS污染,这就导致了cocoapods的CDN在大陆基本是残废。 ​ 然后,不明所以的iOS开发者就到处去找资料,各种折腾,结果很不理想。网络上一大把的cocoapods安装教程,但很多的都是复制粘贴,作者也没有去维护更新。于是跟着网上的教程越是折腾问题越多,停都停不下来。 ​

Xcode Server 持续集成—非开发人员也能打包

​ 这几天项目上的事情不多,公司有频繁打包的需求。刚好分配给我的mini闲置,之前了解过持续集成的工具Jenkins,安装过几次都以失败而告终。突然想起了Server有Xcode支持,最初玩Server的时候以为它仅仅为Xcode提供代码仓库,后面才了解到它是用来做持续集成的。 ​

XTITimer--计时器管理

工作中很多地方用到计时器,然而系统提供的计时器基本都存在一些内存管理上的麻烦事,而且相对比较繁琐。在之前写过一个XTTimerManager,这个类管理计时器需要在观察者销毁之前移除,用起来有些不方便。于是,就写了XTITimer。

Socket编程

​ 一直想深入即时通信开发,于是在上次假期的时候就写了一个模型,最初选择的是PHP,原因是我有些PHP基础,但是做到服务器多线程处理客户端发送的消息的时候遇到了大问题:PHP默认版本是不支持多线程的,支持多线程的版本网友们的评论是说只能用来玩玩,而且电脑本地环境搭建PHP-ZTS又比较麻烦,于是就选择使用C++开发。截止记录该笔记,有很多优化思路还没有实现。 ​

XTINetwork - 网络抽象层

#XTINetwork ​ XTINetWork](doc/XTINetWork.md)是一个网络请求的封装,依赖[Alamofire](https://github.com/Alamofire/Alamofire)和[XTIObjectMapper](https://github.com/xt-input/XTIObjectMapper)(基于ObjectMapper,进行部分功能扩展)。它较方便的就可以发出网络请求并将返回的json数据处理成定义好的模型。

XTInputKit代码集

XTInputKit是一套swift版的代码集,包括打印日志的工具类、UIKit的扩展、常用的值的获取工具等等

整理的一些UIKitExtension

新的工作是一个初创项目,项目才开始没多久,所以有很多地方可以优化,在工作之余将一些优化写成了扩展,整理并用Swift实现(工作的项目是使用Objective-C)。 实现了:UIView设置圆角、边框及颜色(xib快捷设置)、转换成UIImage;UIBottun设置文案字体;UIImage图片拉伸、通过颜色大小生成图片;UIViewController的导航栏左右按钮、跳转、退出;UIColor通过16进制获取等

面试问题之响应者链

前两天面试遇到响应者链问题。有个需求按钮的frame超出其父视图,需要点击按钮任意区域都响应。如果UIView的子视图超出其frame,其子视图是收不到点击事件消息的。

set/get

在Objective-C中有readonly、readwrite修饰词,那么在Swift里呢?那就就是set/get,在Swift里实现了set/get方法的属性叫做计算属性,顾名思义,它只负责逻辑,没有存储空间。它一般需要和存储属性配合使用。

日志打印:Loggerithm

在[GCD的笔记]那篇博客里我提到了`Loggerithm`,它在Xcode7时可以配合XcodeColors打印出带颜色的日志,但是XcodeColors已经没有适配Xcode8及9了,而且它没有打印当前的线程,所以我将它加以改造了。