Skip to content

Instantly share code, notes, and snippets.

// immutableなString型の配列
let names: String[] = ["name5", "name2", "name1", "name3"]
//各データを取得
let name1 = names[0] //name5
let name2 = names[1] //name2
let name3 = names[2] //name1
let name4 = names[3] //name3
//各件数
@hachinobu
hachinobu / gist:ec2b9f4a32fbb6b696af
Created June 12, 2014 10:02
iPhone用のxibファイルをiPad用のxibファイルに変更する
iPhone用のxibファイルを選択して[File] - [Duplicate]を選択して名前の最後に~iPadをつける。
~iPad.xibを右クリックして[Open As] - [Source Code]で開く
type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" を
type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" に置換。
targetRuntime="iOS.CocoaTouch" を
targetRuntime="iOS.CocoaTouch.iPad" に置換。
@hachinobu
hachinobu / gist:5ca2eba859dfc8da3d86
Last active August 29, 2015 14:02
パフォーマンス測定とボトルネック箇所の特定

InstrumentsのTime Profilerを使用する。

Call Treeのチェックマークは

Invert Call Tree

Hide Missing Symbol

Hide System Libraries

@hachinobu
hachinobu / gist:3b4e5dcc715c7823111e
Last active August 29, 2015 14:06
pbxprojファイルのコンフリクト防止 mergepbxの使い方
https://github.com/simonwagner/mergepbx
cloneする。
mergepbxプロジェクトに移動して
./build.py
~/.gitconfig に以下の設定を追加する
[merge "mergepbx"]
name = XCode project files merger
driver = mergepbx %O %A %B
@hachinobu
hachinobu / gist:528355340d38b09adabf
Created September 15, 2014 06:00
mergeでコンフリクトした際にmerge処理前に戻す方法
git reset --hard ORIG_HEAD
git reset --hard $commit_id で現在のブランチの指す先を差し替えられますから、 git log --graph --oneline --decorate などでコミットログを表示して マージ前の状態に相当するコミット(例えばID badcafe のコミット)を探して git reset --hard badcafe とすればマージ前の状態に巻き戻すことができます。 でもこれはちょっと面倒です。
実は git merge のような「危険」な(= 現在のブランチの内容を大幅に変える可能性のある)コマンドの場合、 実行前の状態を ORIG_HEAD という名前で参照できるようになっています。 つまり、わざわざコミットログを確認しなくても以下のコマンドで マージ前の状態に巻き戻すことができます:
@hachinobu
hachinobu / gist:29bc73df495617a07c3a
Last active August 29, 2015 14:08
makeObjectsPerformSelector
for (UIView *view in [self.view subviews]) {
[view removeFromSuperview];
}
[[self.view subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
は同じ意味になる
@hachinobu
hachinobu / gist:e92542baec6ffc1c66a5
Created November 11, 2014 01:53
NSDate with ISO-8601
NSDateFormatter* formatter = [NSDateFormatter new];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
formatter.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
NSDate* date = [formatter dateFromString:@"2013-10-04T05:16:29.000Z"];
@hachinobu
hachinobu / gist:d959ea929a7352fe1bef
Last active August 29, 2015 14:19
点線を引く
UIViewの継承クラス
- (void)drawRect:(CGRect)rect {
// Drawing code
UIBezierPath *path = [UIBezierPath bezierPath];
// 線の色を設定
[[UIColor colorWithRed:151.0/255.0 green:151.0/255.0 blue:151.0/255.0 alpha:1.0] set];
// 線の太さを設定
[path setLineWidth:1.0f];
// 点線のパターンを設定
// 5px線を描き、7px空白にする
Xcodeの
Edit -> Convert -> To Latest Swift Syntax...
である程度やってくれる
@hachinobu
hachinobu / gist:68dc0ace95256ffc3c75
Last active August 29, 2015 14:19
クラス名を文字列に

Objective-C

 
+ (UIViewController*)viewControllerForStoryboardName:(NSString*)storyboardName class:(id)class
{
    UIStoryboard* storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
    NSString* className = nil;
    
    if ([class isKindOfClass:[NSString class]])