自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Find me - 用 ARKit 找人

引言从 Apple 发布 ARKit 框架起,我就一直想学习并做点好玩的东西,后来就勾搭了滑滑鸡大佬来上海 Code 沙龙第八次活动讲他做的 ARGitHubCommits,学习了一些 ARKit 的基础知识,后来持续跟进了一波,看了很多张嘉夫大佬的 ARKit 文章,也看了一些 ARKit 开源...

2017-12-09 16:40:49 553 0

原创 面试中的那些 Git 问题 - 基础部分

说到协作,面试中当然就会聊到开发人员日常最需要协作的事情,代码协作。因为 Github 在国内的流行,很多公司都已经把代码托管到 Github 或者内部的 git 服务上,所以大家也慢慢把 git 技能的考察引入到面试中。

2017-10-23 11:31:17 668 0

原创 iOS 工程自动化 - Ruby 入门到辅助脚本编写

和一般的入门教程不太一样,本篇主要分享一些入门 Ruby 以及脚本编写过程中的一些心得和体会,不包含 Ruby 的基础内容。希望能给同样想入坑 Ruby 的童鞋一些帮助,如果有错误的地方,也求各位大佬指正。

2017-09-20 11:47:08 1866 0

原创 iOS 工程自动化 - 思路整理

4 月份参加 2017@Swift 大会的时候有幸听到了 @zesming 大佬关于美团组件化的 Topic,有一张图印象特别深刻。后来跟 @zesming 大佬沟通怎么去整理组件自动构建发布思路的时候他也跟我提到了这张图。所以我准备围绕这张图来整理一下 iOS 工程自动化的思路。

2017-08-20 16:58:12 2649 1

原创 iOS 工程自动化 - OCLint

iOS 工程自动化 - OCLint 实践 最近一直在做 iOS 工程自动化方向的事情,所以把自己研究和实践的内容进行记录并分享,希望能给大家一些帮助。

2017-08-04 21:36:47 983 2

原创 Weex 加载 .xcassets 中的图片资源

因为 .xcassets 中的图片资源只能通过 imageNamed: 方法加载,所以需要做一些特殊处理,才能提供给 weex 使用(PS:纯属娱乐,因为 weex 跨平台的特性,这种针对某一端做实现的方案实用价值并不大)。

2017-03-13 11:15:07 4529 0

原创 造轮子 | 如何设计一个面向协议的 iOS 网络请求库

最近开源了一个面向协议设计的网络请求库 MBNetwork,旨在减少业务层做网络请求开发时的代码量,从而提高业务层开发效率。

2017-02-05 19:50:50 9977 8

原创 MBNetwork-Network request can be easier

MBNetwork is a network request framework based on Alamofire and ObjectMapper, aiming at making network request easier for business development.

2017-01-06 16:43:56 933 0

翻译 莫孤注一掷(Don't Just Roll the Dice 译文四)

第四章 定价进阶目前为止,我们都在考虑单个产品的销售。但是同时销售几个产品,或一个产品的几个版本时会发生什么呢?版本控制每个潜在用户都有购买产品的一个心理价位。再来看我们之前的例子,Belinda(便宜货买手)和Stewart(学生)只会在免费的情况下使用Time tracker 3000。Wil...

2016-12-14 18:05:36 1221 0

原创 LPDMvvmKit 源码学习笔记-01

前言最近有幸见识一个基于 ReactiveCocoa 实现的 iOS MVVM 框架。其中一些在我看来有些大费周章的做法着实让我吃惊,以至于觉得有必要对这个框架的源码进行一次深入的学习和分析。因为这个框架的实现有些复杂,所以我会以系列的方式来记录我的学习过程和分析结果,希望对大家有所帮助。关于 L...

2016-10-07 21:49:31 1085 0

翻译 同时兼容 Xcode 7 和 Xcode 8

做为 iOS 开发者,你肯定会对 iOS 10 带来的新特性感到异常

2016-09-06 15:23:39 5892 0

翻译 Boost.Asio入门(CSDN也有Markdown了,好开森)

首先,让我们先来了解一下什么是Boost.Asio?怎么编译它?了解的过程中我们会给出一些例子。然后在发现Boost.Asio不仅仅是一个网络库的同时你也会接触到Boost.Asio中最核心的类——*io_service*。

2016-03-03 08:45:28 9832 5

翻译 前言(CSDN也有Markdown了,好开森)

#实战出精华 *在具体的C++网络编程中提升你的逼格*

2016-02-26 10:00:12 3202 3

原创 使用 RDVTabBarController 制作底部凸起的 TabBar 笔记

欢迎访问我的个人博客http://mmoaay.photo/ 本文主要针对底部凸起的 TabBar 这种特殊需求,不感兴趣的可以直接绕过~ 最近做的一个项目需要底部凸起的 TabBar,效果如下: 考虑到 iOS 原生 UITableBar 的定制比较麻烦,所以决定先找一下第三方的解决方案,...

2016-02-25 18:33:33 4628 6

翻译 客户端和服务端

客户端和服务端在这一章节,我们会深入学习怎样使用Boost.Asio建立非凡的客户端和服务端应用。你可以运行并测试它们,而且在理解之后,你可以把它们做为框架来构造自己的应用。在接下来的例子中: 客户端使用一个用户名(无密码)登录到服务端 所有的连接由客户端建立,当客户端请求时服务端回应 所有的请求...

2016-02-24 15:45:00 2971 1

翻译 回显服务端/客户端

回显服务端/客户端在这一章,我们将会实现一个小的客户端/服务端应用,这可能会是你写过的最简单的客户端/服务端应用。回显应用就是一个把客户端发过来的任何内容回显给其本身,然后关闭连接的的服务端。这个服务端可以处理任何数量的客户端。每个客户端连接之后发送一个消息,服务端接收到完成消息后把它发送回去。在...

2016-02-24 15:41:21 4199 5

翻译 Boost.Asio基本原理(CSDN也有Markdown了,好开森)

Boost.Asio基本原理 这一章涵盖了在使用Boost.Asio时必须知道的一些事情。我们也将深入研究比同步编程更复杂、更有乐趣的异步编程。

2016-02-24 15:34:04 19301 5

翻译 在Swift中编写 watchOS 2 Hello World 程序

过去的几个月我一直保持着写博客的习惯,但是现在我得专心工作了。最近在做一些 watchOS 2 相关的更新工作,而且我觉得如果出个系列教程会对大家很有帮助。而首要的事情就是我们需要知道如何开发第一个 watchOS 2 应用。所以现在就来开发一个 watchOS 2 风格的 “Hello Worl...

2016-01-21 10:09:41 1702 0

翻译 要不要来点Swift

猛戳查看最终稿@SwiftGG 做程序员有一点优势:如果工具不好用,你自己就可以对它进行优化。而 Swift 让这一点变得尤其简单,它包含的几个特性可以让你以一种自然的方式对这门语言进行扩展和自定义。在本文中,我将分享 Swift 给我编程体验带来提升的几个例子。我希望在读了本文之后,你可以认识...

2016-01-15 10:08:38 1487 0

翻译 几个 Swift 代码规范 #swiftlang

猛戳查看最终版@SwiftGG我们需要经常带着新问题来重新审视一下以前的代码规范。Kevin 的规范:“如果尾部的闭包参数是函数式的就用圆括号。如果是程序式的就用花括号。”myCollection.map({blah}).filter({blah}).etc myCollection.forEac...

2015-12-07 09:57:45 1572 0

翻译 Swift反射API及其用法

猛戳查看最终版@SwiftGG尽管 Swift 一直在强调强类型、编译时安全和静态调度,但它的标准库仍然提供了反射机制。可能你已经在很多博客文章或者类似Tuples、Midi Packets 和 Core Data 的项目中见过它。也许你刚好对在项目中使用反射机制感兴趣,或者你想更好滴了解反射可以...

2015-11-23 09:49:39 6347 3

原创 MBTextFieldWithInputValidator 诞生记

前言MBTextFieldWithInputValidator 这个库其实 4 个月以前就已经用 Swift2.0 实现并上传到了我的github,之后一直想写篇博客分享一下我写这个库时的一些思路,但是因为各种事情,一直到今天才开始写这篇博客。当然目前的设计肯定也不是那么完美,如果有好的建议,请直...

2015-11-17 10:19:32 1678 0

翻译 可以匹配就匹配咯: 详解 Swift 的模式匹配

在众多 Swift 提供给 Objective-C 程序员使用的新特性中,有个特性把自己伪装成一个无聊的老头,但是却在如何优雅滴解决“鞭尸金字塔“的问题上有着巨大的潜力。很显然我所说的这个特性就是 switch 语句, 对于很多 Objective-C 程序员来说,除了用在 Duff’s Devi...

2015-10-27 10:29:25 4523 0

翻译 Swift 元组高级用法和最佳实践

作为 Swift 中比较少见的语法特性,元组只是占据了结构体和数组之间很小的一个位置。此外,它在 Objective-C(或者很多其他语言)中没有相应的结构。最后,标准库以及 Apple 示例代码中对元组的使用也非常少。可能它在 Swift 中给人的印象就是用来做模式匹配,但我并不这么认为。

2015-10-12 11:33:28 1917 0

原创 iOS代码规范(Swift 与 OC 混编版)

按照自己的理解整理的 iOS 代码规范,部分规范参考了网上现有的一些资料,希望对大家有所帮助

2015-09-30 11:10:44 2946 0

翻译 Swift 的类型体系

Brent Simmons 在 解决目前不存在的问题,就好像问题存在一样 中说到:Swift 的类型体系解决了我没碰到的一个问题。 对这句话我深有同感,而且我敢打赌很多其他的 Objective-C 开发者也会这样觉得。在我刚开始尝试使用 Swift 时,编译器似乎经常和我做对 1 。

2015-09-23 10:08:02 1607 1

原创 Objective-C 与 Swift 混编之路

本文内容基于 Xcode 6.4 和 Swift 1.2 重要资料Using Swift with Cocoa and Objective-C 官方文档为什么要混编? 语言发展趋势(TIOBE),Swift 排行持续上升, OC 排行呈重力下降 项目正常迭代需要 很多第三方库仍然使用 OC 实现...

2015-09-15 18:27:29 16157 17

翻译 Swift 2:可以使用 @NSManage 标记自动生成方法

Xcode 7 beta 5 中的 Swift 2 拥有另外一个特性:当使用一对多关系时我们可以用 @NSManaged 来

2015-09-15 18:14:48 3095 1

翻译 Swift 中数组和链表的性能

病人:医生医生,我一啪啪就蛋疼 医生:那就别啪 我在Twitter上说过:你提醒过我使用 reduce 的方式构建数组虽然有趣,但有使性能减半的风险。很多人觉得这句话很奇怪,这让我非常惊讶。

2015-09-10 06:58:25 3189 2

翻译 探索:测试 Swift 中的 ErrorType

原文链接:Testing Swift’s ErrorType: An Exploration 译者:mmoaay 在本篇中,我们对 Swift 新错误类型的本质进行探究,观察并测试错误处理实现的可能性和限制。最后我们以一个说明样例、以及一些有用的资源结尾

2015-09-10 06:26:09 5588 0

翻译 浅谈 Objective-C 指针和 Swift2

该译文独家授权给SwiftGG 原文链接:Objective-C Pointers and Swift 2: A Simple Guide 原文日期:2015/08/23 译者:mmoaay 校对:numbbbbb 定稿:shanksyang ...

2015-09-08 18:52:35 1858 4

原创 iOS过场动画调研笔记

前言因项目需要,最近一段时间都在调研iOS的过场动画。对于我来说这是一个之前没有太涉及的领域,所以有必要把调研的过程和自己的一些理解纪录下来为什么要自定义过场动画?如果大家有关注Material Design和最近一些知名App(如快的、一号专车等)的界面设计和交互的变化,就会发现一种新的趋势:平...

2015-08-22 10:29:07 3498 3

翻译 UIGestureRecognizer教程:创建自定义手势

原文链接: UIGestureRecognizer教程:创建自定义手势 如果是首次访问,你可能会想订阅我的RSS feed或者在Twitter上粉我。非常感谢你的到来! 学习如何使用自定义 UIGestureRecognizer 来识别圆自定义手势可以使app感觉更独特,更有活力,从而取...

2015-08-18 13:50:54 6752 7

翻译 最近正在参与的Swift2.0翻译工作(Access Control章节)

访问控制本页内容包括: 模块和源文件 访问级别 访问级别的使用原则 默认访问级别 单目标应用程序的访问级别 Framework的访问级别 访问控制语法 自定义类型 元组类型 函数类型 枚举类型 原始值和关联值 嵌套类型 子类 常量、变量、属性、下标 Getter和Setter 初始化 默认...

2015-08-18 11:00:51 1351 2

原创 鼠绘(3)[一种画树的方法]

最近研究出来用鼠标画树的方法,分享给大家软件Photoshop工具画笔画笔属性硬边的圆形画笔,画笔大小从4-20,如下图: 不透明度调整为80%,如下图: 主要颜色树干颜色色板如下: 树叶颜色色板如下: 具体步骤首先,当然是画树干,先新建一个图层(新建图层的方法用PS的人都知道,我...

2015-07-12 13:40:44 2461 0

翻译 AutoLayout中的Visual Format Language

前言 今天使用Swift手写AutoLayout时发现OC中的constraintWithItem方法竟然不翼而飞,这也就意味着我只能使用constraintsWithVisualFormat方法来做约束了,然后就发现了一个神奇的东西:Visual Format Language,Google发...

2015-07-01 14:37:41 2124 0

翻译 结束语(强迫症没救了…)

就目前来说,网络编程是非常重要的。作为21世纪所有C++程序员的必学内容,我们对Boost.Asio的理论进行了深入理解并付诸实践。因为本书的内容都可以很简单的进行阅读、测试、理解和扩展,所以你可以把它当作一个参考以及便携的Boost.Asio样例库。

2015-06-30 17:15:11 1244 0

原创 iOS文字大小自适应库(MBFontAdapter)诞生记

背景什么是iOS文字大小自适应?单纯回答这个问题实在太困难…所以讲一个故事,就很好理解了:某天做UI设计的妹子弱弱地问我:“我们的app可不可以实现文字的字号在iPhone6上和iPhone6Plus上比iPhone4s和iPhone5大一些?如果要实现难度是不是比较大?工作量会不会增加很多?”其...

2015-06-23 18:26:51 8461 6

翻译 莫孤注一掷(Don't Just Roll the Dice 译文三)

第三章 价格陷阱 至此,我们已经学习了一些经济理论和定价心理学。值得期待的是,在定价方面你已经有了一些主意。但是还有其他一些因素也是要牢记在心,同时一些陷阱也是要特别注意的。 竞争对手 当你设定你产品的价格时你要考虑你的竞争对手会如何回应。如果你削弱他们,他们会不会启动价格战?尽管你的竞...

2015-06-16 17:16:53 1561 0

翻译 莫孤注一掷(Don't Just Roll the Dice 译文二)

第二章 定价心理学:你的产品值多少钱? 上一章讲到的需求曲线可能是动态且依赖于很多因素,但是你仍然可以对它的形状发挥一些影响。在这一章,我们会讲到人们是怎么决定以什么价格购买一个产品的,然后会告诉你如何改变它。 但是首先,你需要回到一个简单的问题:你的产品是什么? 你的产品是什么? 你可能...

2015-03-03 18:26:16 1912 0

提示
确定要删除当前文章?
取消 删除