码迷,mamicode.com
首页 > 其他好文 > 详细

关于你是菜B的开始

时间:2015-05-06 17:26:35      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

iOS工程通用模块介绍

写iOS程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上。

GitHub里面有大量优秀的第三方框架,而且License对商业很友好。一下摘录一下几乎每个项目都想集成的几个框架。

1. Mantle

Mantle让我们能简化Cocoa和Cocoa Touch应用的model层。简单点说,程序中经常要进行网络请求,请求到得一般是json字符串,我们一般会建一个Model类来存放这些数据。这就要求我们编写一系列的序列化代码,来把json转换为Model。这很费时间,容易错,不容易修改。Mantle很好的解决了这个问题,而且更易用。

2. Masonry

IB时代,如果你还在用代码绝对布局就太low了。随着苹果发布iPhone6、iPhone 6 plus。iOS设备将会出现越来越丰富的屏幕尺寸,我们不可能根据每个尺寸做一套布局。所以,使用autolayout就很有必要了。在storyboard中,可以非常方便的使用autolayout,但是为了更好的协作开发,有些公司依然在手写布局,令人沮丧的是苹果提供的autolayout语法晦涩难懂,非常影响效率(你可以在这里动态查看autolayout的语法)。Masonry就是设计来解决复杂的手写autolayout。如何优雅的使用autolayout,且看Masonry。

3. Reachability

移动互联网时代,应该很少有应用是不需要网络连接的吧。监测网络连接状态几乎是必不可少的一部分。Reachability可以完美的完成这一任务

4. BlocksKit

BlocksKit绝对是Objective-C的知心伴侣,它为OC常用类提供了强大的Block语法支持,使得编写OC代码变得舒适、快速、优雅。反正我是绝对离不开它。

5. KVOController

如果你在项目中有使用KVO,那么KVOController绝对是个好选择。它是facebook开源的一个KVO增强框架。有以下几个特性:

  • 使用 Blocks、自定义 Actions 或者 NSKeyValueObserving 回调进行通知.
  • 观测者移除时无异常
  • 控制器 dealloc 时隐式的观测者移除
  • 提升使用 NSKeyValueObservingInitial 的性能
  • 线程安全并提供在观测者恢复时额外的保护

还有什么理由不使用KVOController呢?

6. MBProgressHUD

一个老牌、经典的通知组件,如果你们美工没有专门设计等待和通知视图,那就用它吧!

7. ODRefreshControl

很多公司都自己设计下拉刷新视图,比如网易新闻iOS客户端,下拉的时候会有广告出现。如果你只是需要一个下拉刷新,那么可以考虑ODRefreshControl,它是原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的App在用,比如虾米音乐和QQ客户端。

GitHub:https://github.com/Sephiroth87/ODRefreshControl 参考: * CocoaPod:pod ‘ODRefreshControl’, ‘~> 1.1.0’

8. pop

又是Facebook开源的。大名鼎鼎的pop,做动画的不二之选。收下它吧。

9. AFNetworking

objective-c下网络请求库不二选择。

 
 
Comments

Git总结

Git和GitHub一直在用,但是没有详细学习过,只会几个简单的命令,做一些提交上传的操作。这几天公司没项目,比较闲,就把Git的原理和命令详细看了一遍。

Git的官方网站是 http://git-scm.com/

《Git Pro》是一本好书,详细覆盖了Git的方方面面,所有你遇到的关于Git的内容都可以在上面找到。而且它免费,有中文版和英文版

《Git Pro》英文版 在线阅读
《Git Pro》中文版在线阅读

书是好书,就是太厚。花时间。而且如果没有任何Git的操作体验,直接看这本书头会比较大。所以我看了会就没看了。在网上找到另外一篇教程,详细介绍了Git的日常使用,不罗嗦,讲的都是项目中经常用到的功能。

教程作者是廖雪峰。你可以在这里找到这篇教程 教程地址
他还写了一个配套的iOS App。有兴趣的也可以下载支持。

这边把学到的知识做个总结:

以下内容来自原上面提到的教程

基本命令

  • git init :初始化仓库
  • git add \<filename> :添加未跟踪文件到暂存区 或 添加修改的文件到暂存区
  • git rm \<filename> :将文件从git跟踪列表中删除
  • git commit -m ‘commit log’ :提交一个版本到git
  • git log :查看所有的提交历史记录
  • git status :查看当前git的状态
  • git checkout – \<file> :撤销工作目录文件的修改
  • git reset HEAD \<file> :取消暂存

版本管理

  • git reset –hard HEAD^ :版本回退上一个版本
  • git reset –hard HEAD^^ :版本回退上上个版本
  • git reset –hard HEAD~100 :版本回退前一百个版本
  • git reflog :查看操作记录,可以找到所有历史commit
  • git diff HEAD – \<file> :命令可以查看工作区和版本库里面最新版本的区别

远程管理

  • git clone git@github.com:michaelliao/gitskills.git :将远程库下载下来
  • git remote add origin git@server-name:path/repo-name.git :添加远程库地址
  • git push -u origin master :提交的远程库
  • git remote -v:查看远程库信息
  • git push origin branch-name:从本地推送分支,如果推送失败,先用git pull抓取远程的新提交
  • git checkout -b branch-name origin/branch-name:在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致
  • git branch –set-upstream branch-name origin/branch-name:建立本地分支和远程分支的关联
  • git pull:从远程抓取分支,如果有冲突,要先处理冲突

分支

  • git branch:查看分支
  • git branch \<name>:创建分支
  • git checkout \<name>:切换分支
  • git checkout -b \<name>:创建并切换分支
  • git merge \<name>:合并某分支到当前分支
  • git branch -d \<name>:删除分支
  • git log –graph:命令可以看到分支合并图

在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活; 那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本; 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

标签 Tag

  • git tag \<name>:用于新建一个标签
  • git tag -a -m “blablabla…”可以指定标签信息
  • git tag -a v0.1 -m “version 0.1 released” 3628164
  • git tag:可以查看所有标签
  • git push origin \<tagname>:可以推送一个本地标签
  • git push origin –tags:可以推送全部未推送过的本地标签
  • git push origin :refs/tags/\<tagname>:可以删除一个远程标签
  • git tag -d :可以删除一个本地标签

关于你是菜B的开始

标签:

原文地址:http://www.cnblogs.com/huxuiOS/p/4482419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!