2012-01-01から1年間の記事一覧

MagicalRecordのREADMEを意訳

MagicalRecordのREADMEの抜粋を意訳しつつメモ。 原文のREADMEはこちら ※20140930 MR_contextForCurrentThreadとMR_SHORTHANDが3.0で廃止される事を追記 逐次githubのissuesをご確認下さい。 目次 インストール方法 必要条件 いつ保存すれば良いか 長時間の…

CotEditorの正規表現スクリプトメモ(property->synthesize)

synthesizeが省略できる今となっては無用の長物ですが、 @propertyから@synthesizeを自動生成するCotEditor用のperlスクリプトを書いてあったので、 一応記載しておきます。 ・対象のobjc @property(nonatomic) BOOL isRun; @property(nonatomic) BOOL isFin…

CoreDataのエラーメモ

CoreDataのエラーメモです。・エラーメッセージ Cocoa error 134100 ・原因 アプリ起動後のEntityの追加等で既に存在するsqliteファイルと新しいxcdatamodeldの不整合でおこる。 ・解決策 アプリを長押しで削除した後、再実行 ・エラーメッセージ 英: An ins…

NSFetchedResultsControllerDelegateのセル削除ではまった

題のとおり、NSFetchedResultsControllerDelegateでのdeleteで1h程はまりました。 40秒位で読める程度の中身のなさです。【結論】 didChangeObjectの引数indexPathとnewIndexPathを書き間違えていた事。 単純かつエラーにならないので気づきにくかった。 【…

ボタンファクトリーを作ってみる(create button factory with objectivec)

こんばんわー、色々なボタンを作るとコードが汚くなるのでボタンファクトリー(factoryClass)を作ってみます。 デザインパターンに精通している訳ではないので、玄人の方は是非アドバイスを下さい。 【 参考 】 ファクトリメソッド(wiki) iPhoneのUIのスキン…

Objective-Cのブロック(Block)が苦手だけど少し覚えた過程

世間様はiPhone5でにぎわってますねー。 まだまだ勉強中の身なんですが、Objective-Cのブロック(Block)についてテクニック的な話ではなく、 自分がブロックを学ぶときどうしたか?というプロセスってほど大げさでもない手順を書きます。 [参考] Apple公式ブ…

Xcode5でLLDBデバッガコマンドを使ってみる

※キーウインドウ上の曖昧な制約を表示する、[UIWindow keyWindow] _autolayoutTrace]を追記 Xcodeのブレークポイントでプログラムを停止している時に入力できるコマンドです。 VisualStudioのイミディエイトウインドウライクに変数の値を変えられます。 値を…

2つのファイルの差分を比較したりマージしたりする。

WInMargeみたく比較をしたいと思って、TextWranglerを使ったらできたのでメモ メニューのSearch > Find Differencesを選択。 で、比較したい2つのファイルを「New」と「Old」にD&Dするか普通に選択します。 「compare」をすると差分が一覧で表示されます。 …

NSRangeの使い方

NSRangeとは?NSRangeはlocation(位置)とlength(長さ)の2つを持つ、"範囲"を表す構造体です。 文字列の検索、分割、切り出し等に重宝します。 ※2013/06/11 正規表現検索のサンプルを追加 例えば以下のようにrangeOfStringメソッドを使うと、 "列です"と…

CotEditorで動くスクリプトを作るには?

夏休みなのでCotEditorで動作するスクリプトを自前で作りたいなと思い立ちました。 以下を参考にやってみましたが、意外に結構迷いました。 ・CotEditorのスクリプトメニューでPHPを起動する方法(便利なサンプル3つ付き) http://creazy.net/2009/08/coted…

Eclipse for Macで良く使うショートカット

Eclipse for Macで使っているショートカットです。 Macとwindowsではだいぶキーが違うので備忘録です。 ショートカット一覧の表示command + shift + 「L」 はじめはこれを見ながら使いそうな機能を探すといいですね。 コード入力補完普通の補完 control + ス…

iPhoneアプリ開発でテストを試してみる。

少しずつ学習を進めているiPhoneアプリのテストについて書きます。今回は一番簡単に使えるSenTestingKitを使い、簡単な「足し算」メソッドを作って、テストを実行させるまでを試してみます。ボタンを押したりのテストはまだ試しませんが、 万が一やる気がで…

XcodeでJavaDoc的なドキュメントを作るDoxygenを試す

Xcode4でJavaDocのようなドキュメントを生成できるDoxygenを試してみました。 Doxygenを使うとiOSのプロジェクトに対してドキュメントを生成することができます。 クライアントからそれっぽいドキュメントを求められた時や、プログラムの関係を整理するのに…

javaでbyte[]を適当にバイナリファイルとして書き込む

前回Javaのbyte型を使ってみる。の続きでbyte[]をバイナリファイルとしてファイルに書き込んでみます。バッファ等は一切考慮していませんが、 以下のようにするとバイナリファイルを任意のパスに作成する事ができます。 import java.io.FileNotFoundExceptio…

Javaのbyte型を使ってみる。

基本的な事ですが、byte[]を使う必要に迫られました、、 個人的にとても苦手な所なので、克服するために1つずつJavaの「byte」について調べてみました。まず「wiki」を見てみました。 Javaのbyteはintやshort等と同じ基本型といわれるもので、 その中でも整…

Xcode4のコードスニペット機能を試す。

Xcode4からの便利機能、コードスニペットを使います。Xcodeのコードスニペット機能は、良く使うコードを集めて、 必要な時にすぐ呼び出して利用できる機能です。 ちょっとした事ですが、結構開発効率があがります。 使い方の一例として、 よく使うNSLogをス…

Xcode4.3で「User Defined Runtime Attributes」を試してみる。

iOS5、Xcode4.3から使えるようになった。 「User Defined Runtime Attributes」を試してみました。この仕組みを使えば、自分で作ったUIのサブクラスに特定の値を用意し、 実行時に設定される値をInterfaceBuilder(以下IB)であらかじめ決める事ができます。…

UITableViewのセルに画像を表示する。

StaticなTableViewCellに画像を表示するには、 TableViewのStyleを変更する必要があります。 右上の「Style」がはじめは「Basic」になっています。 これを「Custom」に変更します。 あとはUILabel、UIImageView等をセルにドラッグ&ドロップして、 画像を設定…

UITableView dataSource must return a cell from tableView:cellForRowAtIndexPathが出た時

UITableViewを使っている時に以下のエラーが発生したのでメモ。[エラー内容] [UITableView _createPreparedCellForGlobalRow:withIndexPath:], /SourceCache/UIKit/UIKit-1914.85/UITableView.m:6061 2012-06-24 19:13:41.460 Yarukoto[3083:707] *** Termin…

UIStoryBoardで固定セル数のTableViewを作る(2)

前回だとまだエラーのままだったので、StaticTableMasterViewController.mを修正します。 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. /* ここからコメントにします。 self.navi…

UIStoryBoardで固定セル数のTableViewを作る(1)

TableViewはちょうどexcelの表を1列だけ使ったような外観のViewです。 中の1行をTableCellといいます。MasterDetail-Applicationを選んでプロジェクトを作ると、 TableViewの状態のテンプレートができてます。 はじめは「Dynamic Prototype」という、 扱う…

NSManagedObjectIDは保存前と後で違う値になる

CoreDataで保存したレコードを一意に識別する方法を検討中です。CoreDataではprimaryKeyにあたるIDを内部でZ_PKで保持しているみたいです。 エンティティや属性は全てZ_というprefixがついてますが、Z_PKというのが恐らくprimaryKeyだと思います。 (参考:Mac…

先頭のViewControllerを変更する。

iOS5のUIStoryBoard(ストーリーボード)で先頭のViewControllerを変更する方法 スタート画面にしたいViewControllerを選択した状態で、 「is Initial ViewController」にチェックを入れる。以上。 もしくはStoryBoard上の矢印マークをドラッグしても変更でき…

MagicalRecord2.0を使えるように準備する

簡単にCoreDataを使えるMagicalRecord2.0を試してみました。 まずはGithubからzipを落としてきます。git cloneでもOKです。 参考:MagicalRecord-Github 落としてきたらzipを展開します。 適当にプロジェクトを作ります。「ARC」はON 「Use CoreData」はノー…

CoreDataでエンティティを継承させる。

エンティティの継承※2013/06/20 エンティティの継承における懸念を追記 CoreDataで複数Entityを作ったときにAttributeが重複することがあります。 下の場合、Attributeのageとnameが重複しています。 差分もわかりづらく、繰り返し同じことを書かなければい…

CoreDataで「xcdatamodeld」からNSManagedObjectサブクラスを自動生成

CoreDataで「xcdatamodeld」ファイルから、 NSManagedObjectサブクラスを自動生成する手順 1.「xcdatamodeld」ファイルを選んで「Entity」を選択状態にします。 2.上の状態で「Editor」->「Create NSManagedObject SubClass」を選択します。 3.Optionの「use…

xcode4.3.2でApple Mach-O Linker (Id) Errorが起きた

xcode4.3.2でプロジェクトにファイルをコピーしたら、 Apple Mach-O Linker (Id) Errorが発生した。 エラー内容はこんな感じ。 Undefined symbols for architecture i386: "_OBJC_CLASS_$_CoreDataManager", referenced from: objc-class-ref in YarukotoVie…

リポジトリの削除方法

最近Githubを使い始めました。GitHubとは編集git のプロジェクトホスティングサービス。Rails で作成されており、使いやすいインターフェイスが特徴。 Rails や RSpec 等、また http://gems.github.com/ の Rubygems のレポジトリソース等、Ruby 関係のライ…

Xcode4.3.2にしてNSLogがでない時

Xcode4.3.2にして実機デバッグ時にNSLogがでなくなりました。 結論をいうとデバッガをGDBに変更したら出ました。 以下LLDBからGDBへの変更方法です。 プロジェクト名を長押しすると、メニューが出てくるので、 「Edit Scheme」を選択します。 そして「Debugg…

AudioPlayerを使っての音を鳴らしてみた

AudioPlayerを使って「笛」の音を鳴らしてみたので調べたことをメモ。 肝心の笛(ホイッスル)の音声をどう作ったかはそのうち書きます。 ざっくりとできること 今回試したコード 今回使うAudioPlayerはAVFoundationというフレームワークに入っています。 (…