different of class and category

当需要重写父类中的方法时,这时候定义子类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@interface JADanSideController : JASidePanelController


@end


@implementation JADanSideController

- (UIBarButtonItem *)leftButtonForCenterPanel{

UIButton *leftBarButton = [UIButton buttonWithType:UIButtonTypeCustom];
[leftBarButton setFrame:CGRectMake(0, 0, 44, 30)];
[leftBarButton setBackgroundImage:[UIImage imageNamed:@"List_NaviSide.png"] forState:UIControlStateNormal];
[leftBarButton addTarget:self action:@selector(toggleLeftPanel:) forControlEvents:UIControlEventTouchUpInside];
__autoreleasing UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftBarButton];

return leftBarButtonItem;
}

@end

当需要为父类添加方法时,这时候定义类别

1
2
3
4
5
6
@interface JADanSideController : JASidePanelController

- (void)setBackGroundColor;

@end

生成 github SSH keys

本文主要来自github官方,Generating SSH Keys

1
2
3
4
5

cd ~/.ssh

ssh-keygen -t rsa -C "your_email@example.com"

下面的步骤可以只敲回车进行确认即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Creates a new ssh key using the provided email

Generating public/private rsa key pair.

#这里直接回车就会生成一个默认名为id_rsa
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]


#这里需要你输入一个你加密的key(一定要记住)
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]


Your identification has been saved in /Users/welsonla/.ssh/id_rsa.
Your public key has been saved in /Users/welsonla/.ssh/id_rsa.pub.
The key fingerprint is:
30:e8:aa:08:ee:bc:76:88:2c:3f:83:39:b0:6e:95:cc wyc.jar@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . |
| . o |
| . o |
| o o S |
|. E |
|=++ |
|%*o. |
|OO+o |
+-----------------+

看到这个界面说明生成成功

copy加密字符到剪切板

1
pbcopy < ~/.ssh/id_rsa.pub

打开你的github

1
2
3
4
5
6
7
1. 点击 Account Settings
2. 点击左侧 "SSH Keys"
3. 点击 "Add SSH key"
4. 粘贴你的可以到 "Key" 输入框
5. 点击 "Add key"
6. 输入你的github密码确认

使用RVM安装ruby

今天突然发现ruby版本不小心又回到了1.8.7,可能是我修改了rvm的配置文件导致的,于是开始折腾安装rvm和ruby

首先还是先安装Homebrew吧
很简单,一行代码搞定

1
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

安装RVM

1
curl -L https://get.rvm.io | bash -s stable --ruby

走着走着发现出错了

1
2
3
4
5
6
Missing required packages: autoconf, automake, libtool, pkg-config, libyaml, readline, libxml2, libxslt, libksba, openssl, sqlite.
RVM autolibs is now configured with mode '2' => 'check and stop if missing',
please run `rvm autolibs enable` to let RVM do it's job or run and read `rvm autolibs [help]`
or visit https://rvm.io/rvm/autolibs for more information.
There were package installation errors, make sure to read the log.
Check Homebrew requirements https://github.com/mxcl/homebrew/wiki/Installation

透过错误信息,发现缺少一写依赖的包,和rvm的autolibs没打开,这时候我们就通过Homebrew先安装上(具体你要看清楚你缺少的是什么)

1
2
3
rvm autolibs enable
rvm reload
brew install autoconf automake libtool pkg-config libyaml readline libxml2 libxslt libksba openssl sqlite

漫长的等带后,依赖包终于装完了
再次安装RVM

1
curl -L https://get.rvm.io | bash -s stable --ruby

就会安装成功,你可以rvm -v查看下版本

安装并设置1.9.3为你的默认版本

1
2
3
rvm install 1.9.3
rvm use 1.9.3
rvm rubygems latest

Finish

Cocoapods 使用

1
gem install cocoapods

cd到你的项目的根目录,就是跟project文件同级,建立Podfile文件

1
touch Podfile

加入平台版本,(5.1可以省略,但是最好在podfile中加入,因为一些ARC相关的类库不加的话,会提示错误)

1
platform :ios,'9.0'

搜索第三方的oc库

1
2
3
4
5
6
7
pod search fmdb

-> FMDB (2.0)
A Cocoa / Objective-C wrapper around SQLite.
- Homepage: https://github.com/ccgus/fmdb
- Source: https://github.com/ccgus/fmdb.git
- Versions: 2.0, 1.5.1, 1.5 [master repo]

通过搜索,我们已经找到了该类库的版本的名字,只需要将这些内容加入到podfile文件中即可

1
2
platform :ios, '5.1'
Pod 'FMDB','2.0'

然后执行下面的命令,将这些类库加到到本地

1
pod install

修复Cocoapods,重置repo

1
2
3
pod repo remove master
pod repo add master https://github.com/CocoaPods/Specs.git
pod repo update

减少更新安装的时间,只安装或更新必要的库

1
2
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

之后将会生成一个workspace文件,以后我们打开项目的时候,就打开workspace文件即可,项目和其所需要的类库都以sub project的方式加到了这个workspace下面

一个码农的Mac配置

我常用的一些Mac工具

  • iTerm2 一个增强的命令终端
  • SourceTree git代码控制工具
  • WunderList 一个出色的Todo工具,提供云同步,我把它当做我的任务列表
  • TextMate2 号称”The Missing Editor for Mac OS X”
  • SublimeText2 另一个特别出色的Editor
  • Alfred Option+Space,唤出,提高你打开软件的效率,购买Powerpack还可以使用很多强大的拓展
  • iFunBox 管理你的苹果设备的文件,可以不通过iTunes直接把文件放到程序的Documents下面
  • 坚果云 国内一个特别出色的网盘,可以右键添加要同步的文件
  • Evernote 这个大家都懂的
  • XtraFinder 为你的Finder增加Tab,剪切等功能
  • shortcat键盘快捷键,写啥点啥,怒赞
  • Chameleon 打开第三方SSD的trim
  • Agenda
  • itsycal 不错的菜单栏日历
  • Sublime Merge Sublime Text出品的Git客户端
  • Netbeans 8 使用PlantUML插件用它来画UML
  • iThoughtsX(Paid) Mindmap工具
  • ForkLift2 目前AppStore版本免费,强大功能齐全的FTP工具

shortcat快捷键

1
2
cmd+shift+space唤醒
输入关键词后,如果匹配了多个,使用control+字母去点击相应的匹配

安装HomeBrew

Homebrew是一个管理Mac拓展的工具,他可以很方便的安装你所需要的软件,以及软件的一些依赖包

比如安装mysql,你只需要

1
brew install mysql

Homebrew 安装特别简单,只需要键入

1
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

相关的文档可以到官方去查看http://mxcl.github.io/homebrew/

安装oh-my-Zsh

Zsh是Mac上面的一个命令行增强工具,他提供了关键字高亮,命令补全,以及一些命令的拓展,

安装步骤

1
2
3
4
5
6
7
8
9
10
11
12
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

#备份你的.zshrc文件
cp ~/.zshrc ~/.zshrc.orig

#创建zsh配置
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

#设置zsh为你的默认shell
chsh -s /bin/zsh

#重启终端就会生效

这里还有一些主题https://github.com/robbyrussell/oh-my-zsh/wiki/themes

如果你要修改zsh的默认主题

1
2
3
vi ~/.zshrc

修改ZSH_THEME为你喜欢的主题名即可

如果不想继续使用,可以使用以下命令卸载

1
uninstall_oh_my_zsh