2013-01-01から1年間の記事一覧
__block typeof(self) weakSelf = self; Class Nameを直接指定するかわりに typeofがつかえる. 勉強会で教えてもらった. typeof使うとコピペできる. だがしかし, ブレークポイントでステップ実行する際 この行が別スレッドで 2度くらい 実行されているような…
NSArray* array = @[] NSMutableArray* array = @[].mutableCopy;
次のように書けば良い. btn.adjustsImageWhenHighlighted = NO; ヘッダファイルを以下に示す. @property(nonatomic) BOOL adjustsImageWhenHighlighted; // default is YES. if YES, image is drawn darker when highlighted(pressed) @property(nonatomic) …
Objective-C の BOOL型はint型で以下のように定義されている. YES: 1 NO: 0 objc.h ヘッダファイルにもそのように定義されている. 忘れたら BOOLの定義を ctrl+gで見れば良い. objc.hでの定義内容を以下に示す. /// Type to represent a boolean value. type…
ctrl+r によるコマンドの履歴検索(bck-i-search)において、ctrl+rを連打していると、目当てのコマンドがあったにもかかわらずついつい行きすぎてしまうことがある。 その対策として .zshrc に以下を記入すれば、ctrl+s で1個前の検索に戻ることができる。 つ…
rubyの場合 # 1.jpg => pict1.jpg に変更 Dir.foreach('.') do |f| if f =~ /.*jpg/ puts f system "mv #{f} pict#{f}" end end shellの場合 1.jpg => pict1.jpg に変換. {}にfindの値が入る. {}は -I{}で指定している. $ find * -print0 -type f | xargs -0…
hogeディレクトリの中身のファイル名のディレクトリをカレントディレクトリ以下に生成する. $ ls hoge/ | xargs mkdir
UIEdgeInsets CSSにおける paddingみたいなもの. 元となる CGRect から paddingを適用した CGRect を生成することができる. UAModalPanelで使用されている. CGPointを考えなくてもいいところとサイズの計算を自分でしなくても良いところが便利. CGRect CGPoi…
Scroll Viewは2個のView Sizeを持っている. たまにその事実を忘れるというか,contentViewの存在を忘れるのでメモ. スクロールビューを窓と窓に表示される風景に例えて書くと... サイズその1. viewのSize: 窓のサイズ. scrollView.frameで指定する. サイズそ…
.pch ファイルで NSStringWithFormat を使うことができる. URLを指定するときに便利 #define BASE_URL @"http://localhost:3000/" // 各機能での接続先URL #define URL_SETTINGS [NSString stringWithFormat:@"%@%@", BASE_URL, @"v1/settings.json"] #defin…
コマンドは以下のとおり $ openssl md5 file.txt
AppDelegate.mで以下のように書けば. アプリ内のすべてのナビゲーションバーに適用される. // Design UIImage *navigationBarImage = [UIImage imageNamed:@"topbar"]; [[UINavigationBar appearance] setBackgroundImage:navigationBarImage forBarMetrics:…
deep copy するには copy methodを呼べばよい NSMutableArray *hoge = @[@1, @2, @3].mutableCopy; NSMutableArray *fuga = [[hoge copy] mutableCopy]; hoge[0] = @99; NSLog(@"hoge : %@", hoge); NSLog(@"fuga : %@", fuga); result 2013-07-04 03:26:25.…
BlocksKit を使うとデリゲート書かなくて済む. 読みやすい. アラート出すだけなのにデリゲート書く必要があるのはやっぱり大げさだなぁ. UIAlertView *al = [UIAlertView alertViewWithTitle:@"OK?"]; [al addButtonWithTitle:@"OK" handler:^{ [self.naviga…
Use NSTextAlignmentCenter instead.
テーブルビューのセルでよく使います NSLog(@"before : %@", [cell.contentView subviews]); for (UIView *view in [cell.contentView subviews]) { [view removeFromSuperview]; } NSLog(@"after : %@", [cell.contentView subviews]);
.pchファイル に書いておくと appをグローバルに使える #import <AppDelegate.h> // 共有オブジェクト #define app (AppDelegate *)[[UIApplication sharedApplication] delegate] #define SharedAppDelegate (AppDelegate *)[[UIApplication sharedApplication] delegate]</appdelegate.h>
AppDelegate.m の中で, こんな感じで書けば良い self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; _tabBarController = [UITabBarController new]; _homeViewController = [HomeViewController new]; _postViewController =…
Change models order in navigation By default, they are ordered by alphabetical order. If you need to override this, specify a weight attribute. Default is 0. Lower values will bubble items to the top, higher values will move them to the bo…
[sakura] RAILS_ENV=production bundle exec rake db:migrate --trace ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment ** Invoke db:load_config (first_time) ** Execute db:load_config ** Execute db:mig…
マルチスレッド処理のやり方がいくつかあるが、それぞれ試してみた。 GCDが最近の書き方らしいけど、まだまだgithubに上がっているライブラリをみると NSOperationを使っていたりするので、ひと通りやってみました。 // part1 シンプルなパターン [self perf…
データを永続化するというのは、iPhoneにデータを保存するということ。 NSUserDefault でもデータ保存はできるけど、これはユーザが設定したアプリの設定項目に使用するべきで アプリ内で定義したモデルの情報を保存することに使うべきではない。 以下の方法…
a = [1,2,3, 4,5,6, 7,8,9, 10] res = [] while a.size > 0 res << a.slice!(0, 3) end p res # => [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
この記事参照して lib/tasksを追加した. http://d.hatena.ne.jp/yuunachan/20120921/1348183289 seedファイル名を指定して rake db:seed できる $ rake db:seed_from_file SEED_FILENAME='hogehoge.rb' rake -Tすると追加されたタスクが表示される. rake db:…
あるユーザのデータをもとに、テストデータを作りたいときに使います。 とくにその作りたいデータのカラムが多い時便利です。 u = User.first.dup >> u.save (0.2ms) BEGIN (0.7ms) COMMIT => true
CGRect などをNSLogで出力するときに便利な関数たち NSStringFromCGAffineTransform(<#CGAffineTransform transform#>); NSStringFromCGPoint(<#CGPoint point#>); NSStringFromCGRect(<#CGRect rect#>); NSStringFromCGSize(<#CGSize size#>);
iphone アプリのビルドとテストフライトの配布をコマンドラインで行なってくれる shenzhen という gemがあります。 日本語情報が見当たらなかったので、記事にしてみました。ちょっとしたハマりポイントがいくつかありました。 ちなみに shenzhen という名称…
// pchファイルで通知を定義 #define notification @"notification" // Notification 送信 NSNotification *notification = [NSNotification notificationWithName:HideResultViewNotification object:self]; [[NSNotificationCenter defaultCenter] postNot…
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn.frame = CGRectMake(10, 50, 100, 30); [btn setTitle:@"push" forState:UIControlStateNormal]; [self.view addSubview:btn];
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 使用例 @interface ViewController () <UITableViewDelegate, UITableViewDataSource> @propert</uitableviewdelegate,>…