2012-06-01から1ヶ月間の記事一覧

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というフレームワークに入っています。 (…

CotEditorで少し作業を楽にする正規表現(基本)

CotEditorで少しテキスト編集を楽にする正規表現のメモ正規表現とは編集検索・置換に便利に使える魔法の呪文。 検索・置換する文字列のパターンを指定できるため汎用性が高く、「先頭が○○で終端が××」「○○か××か△△のいずれかを含む」などの複雑なマッチング…

NSObjectのサブクラスを作る

objectivecで自作クラスを作る簡単な手順 「New File」>「Objective C-class」で作れます。 たとえばユーザーを表すクラスなら、クラス名を「User」に、 「Subclass of」で「NSObject」を選択して作成します。 NSObjectはObjective-cのクラスの祖先のような…

Objective-cのフォーマット指定子まとめ

わかればいいやという程度、以下ドキュメントの適当意訳 ドキュメント外のフォーマット指定子も少しずつ追記予定。Apple公式 String Format Specifiers 指定子 説明 %@ Objective-Cのオブジェクト、descriptionWithLocale又はdescriptionによって返された文…

自分のクラス内のメソッドを呼び出す

Objective-Cのクラス内でメソッドを自作して呼び出す方法メソッドとは編集オブジェクト指向プログラミング言語において、あるクラスないしオブジェクトに所属するサブルーチンを指す。この用語はSmalltalkにより導入された。C++におけるメンバ関数。 続きを…

StoryBoardの「Show Document Outline」をショートカットに設定

StoryBoardでの開発時に良く使うdocument outline これを開くのにいちいち矢印マークをクリックしていられないので ショートカットを設定することにします。 「preferences」 -> 「Key Bindings」-> 「show document」で検索「Show Document Outline」という…

NSDataDetectorで電話番号を簡単に検索してみる

objective-cでテキスト内のURLと電話番号を簡単に検索してみました。使ったのはiOS4以上で使える「NSRegularExpression」のサブクラス「NSDataDetector」です。「NSDataDetector」は住所、電話番号、URL等を複数組み合わせて、文字列から検索できます。複雑…