2014年03月28日

Gitで削除されたリポジトリを非表示にする

複数人でGitを管理していると他の人が作成して削除したリポジトリが「git branch -a」などでずっと表示され続けます。

そういった場合は以下のコマンドで削除されたリポジトリを自分の環境でも削除することができます。

git fetch -p
posted by ねこまんま at 11:48
Comment(0) | TrackBack(0) | Git

2014年03月18日

Objective-CでURLエンコード

Objective-C - 2バイト文字列のURL変換 - Qiitaを参考に文字列をURLエンコード。RFC 1738 と 1808に準拠らしい。

NSString *str = @"あいうえお";
NSString *urlstr =
(NSString *)CFBridgingRelease(
CFURLCreateStringByAddingPercentEscapes(
kCFAllocatorDefault,
(CFStringRef) str,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8));
NSLog(@"%@",urlstr);


ちょっと何をやっているかはおいおい調べる。
posted by ねこまんま at 14:13
Comment(0) | TrackBack(0) | iPhone

2014年03月14日

NSDictionary

NSDictionaryはキーと値がペアになった配列。つまりPHPでいうところの連想配列、Perlでいうところのハッシュ、JavaScriptでいうところのオブジェクトにあたる。

NSDictionary *dic = [NSDictionary dictionaryWithObject:@"hoge" forKey:@"Key"];
NSLog(@"%@",dic);


リテラル式を使うといかのような感じ

NSDictionary *dic = @{@"hoge": @"value"};
NSLog(@"%@",dic);


複数のNSDictionaryを指定するにはいかのような感じ

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
@"hoge", @"name",
@"999-9999-9999", @"tel",
@"東京都", @"address",nil];
NSLog(@"%@",dic);


リテラル式を使うといかのような感じ

NSDictionary *dic = @{@"hoge": @"value",
@"999-9999-9999": @"tel",
@"東京都": @"address"};
NSLog(@"%@",dic);
posted by ねこまんま at 12:56
Comment(0) | TrackBack(0) | iPhone

2014年03月12日

Objective-Cで配列を扱う

Objective-Cで配列を扱う方法

配列を作って表示

for文を使う方法

NSArray *array = @[@"a", @"b", @"c", @"d"];
NSLog(@"%@", array);
for (int i = 0; i < array.count; i++) {
NSLog(@"%@",array[i]);
}


for in 文を使う方法

NSArray *array = @[@"a", @"b", @"c", @"d"];
for (id value in array) {
NSLog(@"%@",value);
}


enumerateObjectsUsingBlockを使う方法、これがイケてる方法らしい

NSArray *array = @[@"a", @"b", @"c", @"d"];
[array enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@", obj);
}];


enumerate(エヌムレイト)とは「挙げる,列挙する」などの意味。参考

enumerateObjectsWithOptions:NSEnumerationReverseなどを利用すると後ろからループできる

NSArray *array = @[@"a", @"b", @"c", @"d"];
[array enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%d: %@", idx, obj);
}];


enumerateObjectsWithOptions:NSEnumerationConcurrentを利用すると配列を並列で同時処理できる

NSArray *array = @[@"a", @"b", @"c", @"d"];
[array enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%d: %@", idx, obj);
}];


concurrent(コンカレント)は「同時に起こって」などの意味。参考

参考:Objective-C - NSArrayでfor(; ;)とかfor-inを使うのをやめて、enumerateObjectsUsingBlock:を使う - Qiita
posted by ねこまんま at 11:17
Comment(0) | TrackBack(0) | iPhone