2013-01-01から1年間の記事一覧
毎年恒例、一年のふりかえり。 まずは今年最初のエントリを見てみる。 謹賀新年 - present Ruby と HTML5 に注力すると書いていたけど、 実際書いたブログエントリを見てみると、iOS アプリ開発ネタが多かった。 最初のほうは Rails や AngularJS や Backbon…
objc/runtime.h で定義されている、objc_getAssociatedObject メソッドと objc_setAssociatedObject を使う。 #import <UIKit/UIKit.h> @interface UIViewController (SideMenu) @property (nonatomic, readonly) UIBarButtonItem *menuButtonItem; @end #import "UIViewCon</uikit/uikit.h>…
アクロス福岡の隣、ダヴィンチビル地下1階にある喫茶店『アンクル』。 ここのオムライスが以前から評判が良いらしい。 臨時収入が入ったので行ってみることにした。 注文したのはビーフオムライス(880円)。 ケチャップライスを玉子で包み、デミグラスソース…
最近、RubyMotion 向けのラッパー gem じゃなくて、 Objective-C のライブラリを使ったほうがいいのでは、って思うようになってきた。 CoreData なら MotionData や MotionDataWrapper じゃなくて MagicalRecord。 そこで RubyMotion で MagicalRecord が使…
先日 RubyMotion で CoreData を使うために試した MotionDataWrapper、 ソースコードを見たらシンプルな実装で難しいことやっていなかった。 Xcode の Data Modeler で作成したエンティティ定義を読み込むけど、 それは CoreData.framework が提供している機…
最近また AngularJS が盛り上がってる気がする。 AngularJS のデータバインディングは魅力的だけど、自分は Backbone 派。 でも Backbone でもデータバインディング使いたい。 そこで New York Times 製の Backbone プラグイン backbone.stickit を試してみ…
『実践 Vim』は Vim のコア機能に特化した本。 TIPS 集の形式ではあるけど、そのほとんどが Vim のコア機能を使った方法だった。 プラグインの紹介は少ない。 Vim のコア機能を使いこなせるようになりたい。 プラグインは必要最小限で、あまりカスタマイズし…
UITapGestureRecognizer を使う。 ついでに、タップされた位置からセルの indexPath も取得してみる。 // タップされた位置からセルの indexPath を取得 - (void)imageViewTouched:(UITapGestureRecognizer*)sender { CGPoint point = [sender locationInVie…
FontAwesome-iOS、motion-fontawesome を経て、 今は FontAwesomeKit を使っている。 PrideChung/FontAwesomeKit FontAwesomeKit は開発が活発なので、最新の FontAwesome 4.0.3 に対応している。 しかも FontAwesomeKit という名前なのに、FontAwesome 以外…
チョコレートショップの『博多の石畳』っていうケーキを一度食べてみたくて、 会社帰りに買ってみた。 右が『博多の石畳』。 勝手に凄く甘ったるいチョコレートケーキを想像していたけど、そんなことはなかった。 チョコレートムースがほんのりビターで大人…
CoreData を使ったモデルのスペックを書く場合、NSManagedObjectContext などのセットアップと、 テストデータの後始末が面倒。 このうちセットアップは MotionDataWrapper が楽にしてくれる。 あとは後始末だけど、こいつも MotionDataWrapper の spec にお…
MotionDataWrapper を使うと、CoreData を ActiveRecord ライクに扱えるため、 # すべてのエントリを配列で取得 all_entries = Entry.all # 下書きのみを配列で取得 draft_entries = Entry.where("draft = ?", true).all という風に、簡単にデータを取得でき…
先日、motion-fontawesome を FontAwesome 4.0.3 に対応させたときの話。 利用できるアイコンを Hash で定義する箇所があり、 手入力でやるには数が多すぎる上に、さしみたんぽぽ作業。 なので、FontAwesome の CSS をもとに Hash を組み立てる Ruby スクリ…
大丸地下2階にある『メゾンカイザー』のパンが無性に食べたくなったので、 週末天神に出かけたついでに3種類のパンを買って帰った。 まず『ル・デリス・ブラン』。 今回はこれがお目当て。 福岡の情報番組で映っていたのが気になっていたもので。 ホワイトチ…
自分はデザインが苦手、特にアイコンが作れないので、 FontAwesome を重用している。 これがないとアプリ開発できないと言ってもいいくらい。 当然、RubyMotion でも使いたい。 前に Objective-C で FontAwesome を使ったときと同じ方法 を採用してもいいけ…
MotionDataWrapper を使って、ブログのエントリとカテゴリみたいな、 多対多のリレーションシップに挑戦した。 すんなりいくだろうと思っていたけど、意外に嵌ってしまったので、 メモを残しておく。 エンティティとリレーションシップの定義 Xcode Data Mod…
気づいたら、RubyMotion のデバッガが GDB から LLDB に変わっていた。 どうやら、iOS 7 から LLDB しか SDK に含まれないようになったためらしい。 @t_nakamura iOS 7 から LLDB しか SDK に含まれないようになったので、それに併せて GDB から LLDB に切り…
Grouped スタイルの UITableView を使ったフォームを簡単に作成できる、 RubyMotion 用の gem 『Formotion』が便利。 clayallsopp/formotion 文字列入力や数値入力やスイッチなど、たいていの入力は README 読めば使える。 ただ自分の場合、日付選択とサブフ…
福岡限定セールで JINS の全品が1割引になっていたので、 JINS PC を購入してみた。 正直、「ブルーライト 50% カットしたところでたいしたことないだろ」なんて思っていたけど、 かけるようになってから目薬の消費量が激減。 以前は1時間に1回くらい差して…
はじめに 「RubyMotion で CoreData を使うなら MotionData を導入した方がいい」って勧めておいてなんだけど、 その後『MotionDataWrapper』を知って速攻で移行してしまった。 macfanatic/motion_data_wrapper MotionDataWrapper の特徴 MotionData は Data…
Objective-C で書いた iOS アプリを保守するために Xcode を強いられているんだ! Xcode は補完が賢くて便利なんだけど、Vim のキーバインドが体に染み付いているせいで、 つい Vim の時と同じことをしようとしてしまう。 入力が終わったらつい Ctrl + [ で…
赤坂にある『大名ちんちん』で坦々麺と炒飯のセット(850円)を食べてきた。 小学生が喜びそうなアレな店名だけど、味はいたって真面目。 食べログ福岡の坦々麺ランキングで 1 位になるくらいに。 まず坦々麺。スープはごまの風味が濃厚で、細い麺によく絡んだ…
neocomplete.vim を MacVim だけでなく Vim でも使いたいけど、システムにプリインストールされている Vim のバージョンは 7.3。Homebrew で最新版をインストールすることにした。 brew install vim --devel --with-lua を実行すると、Vim 7.4.52 が /usr/lo…
先日、下記ページの方法で Homebrew をアンインストールしたわけだけど、それから今までインストールし直すのを忘れていた。 Homebrew をアンインストールする方法 - present ターミナルに Homebrew 公式ページに書かれているコマンド ruby -e "$(curl -fsSL…
渡辺通にある焼肉店『たんか』は、名前から分かるとおり牛たんが人気。 そして同じくらい人気で、先に全国で名が知れた(かもしれない)のが、 〆に食べる『焼きめし』。 メニューはチャーハン1種類だけ! こだわりまくりのチャーハン専門店に行ってきた - ね…
RubyMotion で CoreData が使えることは確認できた。 * ただ、CoreData のエンティティ定義をコードで書くのは結構シンドイ。 NSManagedObjectContext の初期化や CRUD を含めると、CoreData だけでかなりのコードを書くことになる。 正直、CoreData のラッ…
# -*- coding: utf-8 -*- $:.unshift("/Library/RubyMotion/lib") require 'motion/project/template/ios' begin require 'bundler' Bundler.require rescue LoadError end Motion::Project::App.setup do |app| app.name = 'CoreDataSample' app.frameworks…
今さらながら、Vim を使う上で個人的に必須プラグインの neocomplcache に、後継の neocomplete.vim があることに気付いた。 neocomplcache はまだ保守されているみたい。でも開発の主軸は neocomple.vim に移っているようなので、遅ればせながら移行するこ…
Bitbucket イシューの iOS クライアント『Bitissues』の v1.1.0 をリリースしました。 今回のリリースには下記の修正が入っています。 iOS7 対応 イシューの検索 イシューの絞込み 担当者 種類 優先度 完了・未完了 イシューの並べ替え 作成日付昇順・降順 …
Homebrew 開発者が Git に削除用のシェルスクリプトを公開しているので、それを使えばいい。 Uninstall Homebrew 今回はコマンドを抜き出して実行してみた。 cd `brew --prefix` rm -rf Cellar brew prune rm `git ls-files` rmdir Library/Homebrew Library…