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

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等を複数組み合わせて、文字列から検索できます。複雑…

NSTimerでiPhoneのストップウォッチ的(超劣化版)なものをちょっと試す

NSTimerを使って時計アプリを作っているので、少しずつできた事をメモします。 NSTimerは定期的に処理を実行するものなので、そのままでは時計になってくれません。とりあえず1秒毎に00:00(mm:ss)の形式でUILabelを更新したいなと思いました。iPhoneデフォル…

StoryBoard&スクロールビューで画面サイズ調整

UIStoryBoard(ストーリーボード)を使って、 iPhoneの幅・高さより大きいサイズの画面を編集する方法をメモ。 ・「UIViewController」を選択 ・「Size」を「freeform」に変更 これだけで画面サイズ320×460以上でも画面を編集できる。 UIScrollViewを設置し…

Gumroadでタブバーのアイコンを販売してみた。

iPhoneアプリのタブバー用のアイコンを話題のGumroadで販売してみました。3つしかないのでできればタダで置きたいのだけど、 99¢以上じゃないとダメみたいなので1$にしました。以下は販売リンクです。 ・タブバー用のブックマークアイコン等 画像は「Skitch…

参考サイトメモ(ASN.1)

ASN.1についての勉強を進めるために参考になりそうなサイトをメモ。 【参考サイト】英語の資料を読む前にとっかかりのInputとしては良さそうでした →ASN.1概要 ASN.1をTLV符号化する、BER(Basic Encoding Rules)について分かりやすい →http://www5d…

Macで複数のファイルから文字列を検索する。(grep)

Macでサクラエディタや秀丸のようにgrep機能を使って、 複数のファイルからキーワードを検索できないかなぁと思っていましたが、 TextWranglerというフリーのエディタアプリで簡単にできたのでご紹介です。 ちなみにgrepとは、どこのファイルの何行目に目当…

よく使う数値や文字列をhファイルにまとめる。

iPhoneの幅は320なので、コード内にこの様に書けますが、、 self.beforeX = 320; よく使う数値や文字列はできればハードコーディングをしたくないです。 こんな感じに使えると分かりやすいし、定数化してあるので後で変更があっても楽です。 self.beforeX = …