一名 iOS 程序员眼中的『小程序』

小程序正式公测一个星期了,期间知乎、微博和各大微信群都讨论得沸沸扬扬,我也想凑个热闹。当然我也知道自己水平很低,所以前几天更多是阅读,看看别人是怎么看待小程序的,直到现在网上稍微冷一些了,才敢写一写。

初步体验

初步使用起来感觉很好,小程序非常流畅,接近 Native ,甚至比很多写的烂的原生 app 体验很好。感觉上 RN 也不过如此吧,对我而言猫眼电影 app 已经可以卸载了。

小程序入口和朋友圈处同一页,在微信内可以说是非常高的地位了,想必流量一定很乐观,也是很多公司蠢蠢欲动的一大原因。同时小程序也很克制,并不会自动就发布到页面了,需要你打开过具体的小程序才出现入口(可以自己搜索进......

WallSquare -写给 Unsplash 的 iOS 客户端

初衷

最开始知道 Unsplash 是16年8月的时候,在知乎看到有人推荐Instant这个 Chrome 扩展--每次打开 Chrome 扩展页更换一张精美照片壁纸,使用下来体验很好,就去了解了一下。于是乎知道 Unsplash 这个网站,所有照片都是用户主动上传,并且以CC0协议(简单理解为作者放弃照片版权,任何人可以自由下载使用),而且官方还提供了 API ,就想着能不能写点什么,不过那时很忙,搁置了。

直到10月中旬,手头里公司的项目 iOS 部分已经全部完成,才真正开始付诸实践。从11月11号发布第一个版本,到现在已经发布了7个版本了,期间学到了不少东西,这里稍微总结一下,作为2......

Git && Git Flow 使用总结

前言

在前公司的时候用的是SVN,Git只是自己平时在github写点东西的时候用一下,也没太认真,来到这边后就用起了Git。虽然这边iOS只有我一个人,但还是在用了Git一个月后,自己用起了Git Flow,并尽量按照流程走,现在用Git Flow也差不多一个月了,正好昨天项目上线了,今天事少点,外面下着小雨是个写东西的好时机,做个小小的总结。

Git

不用做过多介绍,Git早已为程序员大众所知,一般新点的互联网公司都用Git进行版本管理了。我仅以上家公司一年多的SVN使用经历讲一下Git的优势。

分布式 && 版本库

在众多介绍SVN和Git区别的文章里,分布式......

iOS文件目录总结

最近重新整理了一个项目的文件结构,做个总结。

总体上文件目录如下

Root

Marco

Module

Utils

Feature

NetworkService

Vender

Resource

我接手这个项目的时候,文件目录都是MyProject、MyMethod这样的,非常不利于理解。就想改一下,我认为文件目录应该是利于新人快速了解项目以及自己方便的管理项目的,尽量做到一目了然和方便。

Root

一般存放AppDelegate.h/m 和RootViewController.h/m(如果有这个类的话),便于一下就能找到项......

如何判断NSArray是否为空

严格来说,赋值前判空NSArray是非常有必要的,对于后台有句话是说

不要相信任何来自前端的数据        -- 被前端数据坑死的无数后台

对于前端也有类似的话

不要相信任何来自后台和用户的数据     -- Wythe

在很多项目中,这类判空方法都是放在公共方法中的,所以它的准确与否也是非常关键。之前和几个朋友讨论了一下这个问题,现在做个总结。

最开始项目里是这样写的

if (array && array.count) {

/*

* do something

*/

}

直到后台传了个null......

Dispatch Group总结

前段时间看叶孤城开源的下厨房app,在网络块看到它使用了Dispatch Group,想起来之前虽然看过一点但是从没用过,忘得差不多了,正好乘此机会再了解一下。而我们公司的app,最近正好有个需求我也用到了这个,自己这里做个总结。

Dispatch Group介绍和使用方法

下面是我查到的关于Dispatch Group的一个解释和作用说明

Dispatch Group,译作“派发分组”或“调度租”,是GCD的一种特性,能够把任务分组。调用者可以等待这组任务执行完成,也可以提供调用函数之后继续往下执行,这组任务完成是,调用者会得到通知。

关键点在任务分组和任务完成后得到通知,立......