Eliyar's Blog

大有空间,可容;强有余力,有度。弱无依仗,赖横。真有信奉的人,可以强到从容,大到由他。

单例是一个在 Cocoa 中很常用的模式了。对于一些希望能在全局方便访问的实例,或者在 app 的生命周期中只应该存在一个的对象,我们一般都会使用单例来存储和访问。
王巍 (@ONEVCAT)

单例可以保证的程序运行过程,一个类只有一个示例,而且该实例易于供外界访问。从而方便地控制了实例个数,并节约系统资源。

阅读全文 »

今天微博上看到一款非常棒的可以带图片显示的下拉通知条及示例 - BRYXBanner,封装良好,调用方便。在此之前自己封装比这个简单多的Loading通知View,但每次调用非常麻烦,代码风格也不是很好。看了源码整个Class就200多行代码,而且使用swift编写。所以决定挨个分析其函数,语法及风格来学习类此模块的封装。

BRYXBanner Demo

阅读全文 »

树莓派上有众多好玩的扩展,这篇讲述了如何使用BMP180探测气压温度和高度。

基本配置

安装Python

1
sudo apt-get install python-dev

安装Python PIP

1
sudo apt-get install python-pip

安装GPIO库

1
sudo pip install rpi.gpio

安装I2C库和工具

1
2
sudo apt-get install python-smbus
sudo apt-get install i2c-tools

开启I2C支持

1
sudo raspi-config
阅读全文 »

自从博客从 wordpress 转到 Hexo 后一直被表格困扰。自动转换转出来的表格依然是 HTML Table,虽然网页上大部分情况下能够正常显示(有时候都没法正常显示)。但极大影响了 Markdown 文件的美感,闲的杂乱无章。

Google 搜索很久,有在线生成 Markdown table 的工具,但没有把HTML table转换成Markdown的工具。考虑到自己之前接触过 HTML 解析,所以干脆自己写了个小程序。能够转换 HTML 表为 Markdown 表。
截图

阅读全文 »

还记得刚开始学iOS的时候死活没明白所谓协议(Protocol)和委托(Delegate)的用法和背后的思路。今天终于自己写了一个Protocol和Delegate。
说白了委托就是委托别人帮你做一件事情,而协议就是这两个人签订的协议,不仅要办事,还要按照协议去办。

该文在创建自定义基类 - UIView基础上讲述。
实现Delegate和Protocol步骤如下

阅读全文 »

一个好的字体对整个UI至关重要,有时候iOS提供的字体并不能满足我们要求。此时,需要使用自定义字体。

Xcode 6 使用自定义字体也非常简单。

字体插入至项目

把需要的TTF或者OTF字体直接拖入项目中。也可以在Resourse中建相应的文件夹再添加。

阅读全文 »

最近在研究iOS Animation By Tutural,这里就整理一下所学动画。

关键帧动画 Keyframe Animations

不管多复杂的动画,都可以分解为一小段一小段来制作。通常这类动画需要计算相对时间(第二第三段相对于第一段或者整体的时间)来确定。
比如下图的飞机起飞效果就可以分为四个阶段。
image description

阅读全文 »

来北京工作近一个月了。最初俩星期学到了很多。MVC模式,代码风格,使用纯代码写界面等。但之后就整天跟混日子一样。并没有太多实质提升。

前两天老大找我们聊天,让我们多多开阔眼界,多学学各方面知识。也多多做做开源项目。这个激发了我想法。我将在这个月内重构我之前做的树莓派监控,做成一个可用的家庭监控系统。

知乎上看了一篇回答单身职场人士如何利用晚上八点到十点这段时间自我提高。非常适合我的。明天起每天在这篇日志里记录当天的工作和工作之余所做的事情。同时重新开始记录时间。不能整天瞎忙。

7月计划

  • 买俩自行车方便上下班Â
  • 每天下班回来健身半小时
  • 每天十一点前休息
  • 学完iOS Animation by Tutural教程
  • iOS 8 day by day中每天至少学习一则
  • 每天记录当天的工作,回顾当天所学内容
  • 参加一次互联网或技术相关分享会
阅读全文 »

常量

1
2
let myInt = 1
myInt = 2 // compile-time error!

变量

1
2
3
4
var myInt = 1
var myExplicitInt: Int = 1 // explicit type
var x = 1, y = 2, z = 3 // declare multiple integers
myExplicitInt = 2 // set to another integer value
阅读全文 »
0%