amasok's blog

【Objective-C】カスタムセル内の状態を永続化(保存)させたい

2014/03/18 00:18 tags: Objective-C, このエントリーをはてなブックマークに追加

以下のやり方でできました。 永続化させるためにNSUserDefaultを使用する。

カスタムセル用クラスcell.mにて セル毎にユニークなIDを取得できるようsetterを作成する。

ユニークな文字列は自分で生成する。

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
30
// #indexPath=セル毎に割り振られたユニークな文字列 - (void)setIndex:(NSString *)indexPath{ //indexPathをインスタンス変数化 index = indexPath; //NSUserDefaultsを生成 NSUserDefaults *checkDefaults = [NSUserDefaults standardUserDefaults]; //NSUserDefaultからindexをキーに値を取得する NSString *check = [checkDefaults stringForKey:index]; if (check != NULL){//値があればその値をボタンにセット [_checkButton setTitle:check forState:UIControlStateNormal]; }else{//値がなければデフォルトの◯をセット&◯をindexをキーとしてセット [_checkButton setTitle:@"◯" forState:UIControlStateNormal]; [checkDefaults setObject:@"◯" forKey:index]; } } //ボタンをタップした時の処理 - (IBAction)checkAction:(id)sender { #NSUserDefaultsを生成 NSUserDefaults *checkDefaults = [NSUserDefaults standardUserDefaults]; #ボタンにセットされている文字列ば☓なら◯を、◯なら☓の文字列を変数checkに取得。 NSString *check = [_checkButton.titleLabel.text isEqual: @"☓"] ? @"◯" : @"☓"; #NSUserDefaulscheckindexをキーとしてセット [checkDefaults setObject:check forKey:index]; #ボタン名にcheckをセット [_checkButton setTitle:check forState:UIControlStateNormal]; }

【Objective-C】文字列内に特定の文字列があったら削除する

2014/03/17 23:32 tags: Objective-C, このエントリーをはてなブックマークに追加

HTMLソースから特定のデータを削除する

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// // 引数htmlSourceはHTMLソース // - (NSMutableString *)delete:(NSMutableString *)htmlSource { NSRange searchStart = [htmlSource rangeOfString:@"search_start"]; NSRange searchEnd = [htmlSource rangeOfString:@"serach_end"]; // searchStartとsearchEndが両方があった場合に処理する if (searchSocialStart.location != NSNotFound && searchSocialEnd.location != NSNotFound) { int deleteLocation = searchSocialStart.location; int deleteLength = searchSocialEnd.location-searchSocialStart.location+searchSocialEnd.length; // deleteLocationは削除する位置 // deleteLengthは削除する長さ [htmlSource deleteCharactersInRange:NSMakeRange(deleteLocation, deleteLength)]; } return htmlSource; }

oh_my_zshがすごい

2014/01/30 21:12 tags: zsh, このエントリーをはてなブックマークに追加

職場のshellを最近zshにしたのだが、便利すぎたのでとうとう家でもzshに切り替えた話。

なぜかちょっとだけはまったので、そのときのことをメモ

http://qiita.com/udzura/items/0d08d71d809bfd8c5981

基本的には上記URL通りやるだけ。 何も変わらないです。

前提条件

  • brewが入ってる

方法

zshのインストール

1
brew install zsh

oh-my-zshのインストール

1
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

https://github.com/robbyrussell/oh-my-zsh

公式ページのsetupをうつだけ。

zshに切り替えるのにパスワードを求められる。
ここでミスった。

多分パスワードを間違えたんだと思う。

本当なら新しいターミナルを立ち上げたらzshに切り替わってるはずが、bashのままだった。

なのに、.zshrcを編集して再読み込みしようとしていた。

その時のエラーがこれ。

1
2
~/.oh-my-zsh/oh-my-zsh.sh: line 13: syntax error near unexpected token `('

で、同じようにはまっている人がgithubのissuesにいらっしゃった。

https://github.com/robbyrussell/oh-my-zsh/issues/989

まあ、要はzshに切り替えてからじゃないとoh-my-zsh.shのシェルスクリプトは動かないよってことだ。

1
chsh -s /bin/zsh

これで、再度パスワードを求められるので正しく入力してターミナルを再起動。

そうすると、zshで立ち上がってくれるようになった。

便利な点

これは、何が便利ってoh-my-zshのプラグインが便利

.zshrc

1
plugins=(git ruby osx bundler brew rails emoji-clock)

ここらへんのプラグインが便利だ。

特にgitはすごい。

1
2
3
source-amasok.github git:(master) ✗ git checkout slim Switched to branch 'slim'source-amasok.github git:(slim)

このように、自分が今なんのブランチで作業しているのかが一目でわかる。

まじ、すげぇ。