エラーが発生しました。 大変申し訳ございません。 こちらのページは削除された、またはURL(ページアドレス)が変更された可能性がございます。 (このページから自動的にショップのトップページへ切り替わります。)
エラーが発生しました。 大変申し訳ございません。 こちらのページは削除された、またはURL(ページアドレス)が変更された可能性がございます。 (このページから自動的にショップのトップページへ切り替わります。)
1 #define BM_START(name) NSDate *name##_start = [NSDate new] 2 #define BM_END(name) NSDate *name##_end = [NSDate new];\ 3 NSLog(@"%s interval: %f", #name, [name##_end timeIntervalSinceDate:name##_start]);\ 4 [name##_start release];[name##_end release] iPhoneアプリを開発している場合、シミュレータ上の動作時間と 実機での動作時間は全く異なるので、 実際に実機で動かしてみた場合にどの程度の時間がかかっているかを 測定するのに使っています。
Interface Builderを利用せずにUITableViewを利用する方法です。ソースコードはこちらから。Window-Based Applicationのテンプレートを利用し、UIViewController (MyViewController) を追加して作成しています。 MyViewController.h UIViewControllerを継承した独自のViewControllerを生成します。 UITableView関連のプロトコル(Interfaceみたいなもの)を指定しています。 @interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>{ UITableView *myTableView; } MyViewController.m UITabl
ちょっと前にツイッターで @kira88 たんから Python の記事のリクエストを受けたのですが、フォーマルな解説記事はその辺にいっぱいあるので、とりあえず例だけ貼っとこうかと思います。他の言語ご存知の方は、こっちの方が手っ取り早いでしょうww コピペ元の前に、Windows の開発環境が必要な方はこちらが参考になるかと思いますが、ポックンうにっくす系メインなので詳しくは分かりません>< MOONGIFT: » Python開発をはじめたいWindows開発者は「Portable Python」:オープンソースを毎日紹介 Hello, World! 風 つーことでまずは Hello, World! 風 CGI。 #!/usr/local/bin/python import cgi def main(): form = cgi.FieldStorage() name = form.get
>>> bs.findAll('div') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 93-103: ordinal not in range(128) あれ、先週は動いてたのにな・・・と思いながら encoding を確認すると・・・ >>> import sys >>> sys.getdefaultencoding() 'ascii' となってる。何故先週は動いたし。 とりあえず設定しなおそう。Ubuntu9.10だと、 /usr/lib/python2.6/sitecustomize.py が対象のファイルになるらしい。こいつは /etc 以下にあ
Ubuntuに日本語localeを設定する 2008-11-04T17:00:00+0000 Ubuntu Serverを入れてでもいない限り英語環境を構築することなんてないと思うが,Ubuntuの最小限インストールだと日本語ロケールがない.ので,”export LANG=ja_JP.UTF-8”しても英語表示のままになってしまう.ここらへんは”dpkg-reconfigure locales”で簡単にlocaleの追加ができるDebianと大きく違うところ. Q. ja_JP.UTF-8を使うには? A. language-pack-jaをインストールする # apt-get install language-pack-ja すると,/var/lib/locales/supported.d/jaが追加されて,locale -aの結果に ja_JP.UTF-8が含まれるようになる. あとは
Provisioning Profileの期限切れにより自作アプリが起動しなくなったので更新した時のメモ。 −−−−−−−− ブラウザを起動。 iPhone Dev Centerにアクセス。 iPhone Developer Program Portalに移動。 左のメニューのProvisioningをクリック。 期限切れProvisioning Profileの右の方に[Renew]ボタンがあるのでこれをクリック。 Statusが更新されて期限が延長されたことを確認して[Download]ボタンをクリック。 保存されたファイルが保存されたフォルダを確認。 オーガナイザを起動。 左のメニューでProfileを登録するiPhoneなどのデバイスをクリック。 ダウンロードしたファイルをFinderからProvisioningの枠の中へドラッグ&ドロップ。 ドラッグ&ドロップの代わりにオーガナイ
編集可能なテーブルがあって、編集操作を行って元のテーブルに戻る時、編集結果の反映とテーブルの選択状態の解除の順番がちょっと違うだけでも表示結果が微妙におかしくなる事に気がついた。 編集して帰ってくるだけなので、単純にUITableViewControllerのviewWillAppearで編集結果を反映させる処理を実行させているのだけれど、reloadDataを追加するだけだと選択状態の解除のアニメーションがまるっとなくなる。巷で聞いた話だと、テーブルの行の永続的な選択状態とかフィードバックが無いというのはNGらしく、この辺りの挙動がガイドラインに沿っていないという理由でリジェクトを食らったという事例もあるらしい。 これはダメな例。 - (void)viewWillAppear:(BOOL)animated { [self.tableView reloadData]; [super vie
ろくにCも知らないのに手をつけた、iPhoneソフト開発の“メモ”を忘れないように書き残しておこう。。。 reLoadData が効かなくて困った。 具体的には、UITableViewController として定義したクラスで UITableView としてインスタンス化した tableView に reLoadData を メッセージとして送っても、numberOfRowsInSection: や cellForRowAtIndexPath: の 再読み込みがされなかった。 しかしこのクラスの定義を UITableView に変更してやると、reLoadData が効いた。 勉強不足で理由はよく分からない。reLoadData は UITableView のメソッドなので、 どのクラスから呼出しても、メッセージの送り先が UITableView なら、動作結果は 同じだと思うのだが…
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど NSFetchedResultsController を使っていて、NSFetchedResultsControllerDelegate を実装している時のメモリ管理に関する私的メモ。 Delegateのメソッドはいつ呼ばれるのか? - controller:didChangeObject:atIndexPath:forChangeType:newIndexPath: は、NSManagedObjectContext に変化があった時に呼ばれる。 次のケースを想定してみる。 UINavigationController を使っていて、一覧画面から詳細画面へ移動してそこで NSManagedObjectContextに操作を加える。 ListViewController <NSFet
今回はUITableViewにリストを表示します。 基本は前回の【UITableView】UITableViewに文字を表示すると同じで 表示内容をリスト化するといった内容です。 ゴールはこんな画面を表示することです。 前提条件 「UITableViewに文字を表示する」のプロジェクトを利用 手順 配列を用意 配列を初期化 配列から表示行数を取得 配列の値を各行に表示 配列を用意 編集するファイル HelloWorldAppDelegate.h HelloWorldAppDelegate.m まずは表示する配列を用意します。 拡張子.hのファイルはヘッダファイルで、 拡張子.mのファイルは実装ファイルです。 javaでいうとインターフェースクラスとそれを implementsしたクラスという関係と同じです。 なので、最初に定義ファイルであるHelloWorldAppDelegat
NSMutableArrayとは NSMutableArrayはNSObjectを親オブジェクトとするオブジェクトの集合を格納するオブジェクトです。順番のあるデータの格納に向いています。 中に入れたオブジェクトはそれぞれ0から順番に番号が割り当てられて管理されます。番号の型はNSUIntegerです。 NSArrayとの大きな違いは、こちらは可変長だということです。プログラム中の好きな場所で要素の数を足したり減らしたりできます。そのためUITableViewの各行のデータを格納するのによく利用されます。なお、NSArrayにあるメソッドはこちらでも全て使えます。そのため以下ではNSMutableArray特有のものだけを取り上げます。 代表的なメソッド(目的別) オブジェクトを末尾に追加したい - addObject: オブジェクトを途中に挿入したい - insertObject:atIn
今回はiPhoneの中でもよく使われるであろうUITableViewを使用してみたいと思います。 TableViewを使う際にはUITableViewとUITableViewControllerの二つの選択肢があるのですが 今回はUITableViewControllerを使用します。 UITableViewControllerはUITableViewよりも自動的にいろいろやってくれます。 例えばこんなこと。 テーブルが表示される際(viewWillAppear:)に、データのリロード、選択行の解除。 テーブルが表示された後(viewDidAppear:)に、スクロールバーの点滅。 ナビゲーションバーの編集/完了ボタンを押したときに編集/通常モードに移行。 こんなアプリが出来上がるはずですね。 さて今回もTableDemoという名前で「Windows-Based Application」で
自ら14万人が使っているブログを運営しているにもかかわらず他のブログを使うのもイイでしょう。そうですよね。 ● NSNumber 数値の原始型をラップ(オブジェクトに)するクラス。 + (NSNumber *) numberWithChar: (char) value; + (NSNumber *) numberWithInt: (int) value; + (NSNumber *) numberWithFloat: (float) value; + (NSNumber *) numberWithBool: (BOOL) value; NSNumber *number; number = [NSNumber numberWithInt: 156]; [array addObject: number]; [dictionary setObject: number forKey: @"hyde
NSArrayの使い方はこんな感じ。 ちなみに配列要素の追加や削除を行いたい場合にはNSArrayではなくNSMutableArrayを使います。NSMutableArrayの使い方はこちらをどうぞ→http://d.hatena.ne.jp/thata/20091031/1256944776 // 要素数0の配列 NSArray *empty = [NSArray array]; // 要素を指定した配列 NSArray *array = [NSArray arrayWithObjects: @"abc", @"def", nil]; // 配列の長さ NSLog(@"%d", [array count]); // 配列の列挙 for (id e in array) { NSLog(@"%@", e); } // 配列のn番目の要素を取得するには Array#objectAtIndex:
2010年01月09日16:58 カテゴリプログラムiPhone 知ってるようで知らないiPhoneメモリ管理術 ちょっとした構造体をNSArrayとかNSDictionaryで管理する場合、部長はNSDataを利用してます。これは、単に他の仕組みを知らないだけなのですが…。 typedef struct { int val1; float val2; char val3[16]; } sHoge; NSMutableDictionary *dict; // 事前に初期化済 // 格納 sHoge hoge; NSData *data = [NSData dataWithBytes:&hoge length:sizeof(sHoge)]; [dict setObject:data forKey:@"hoge"]; // 取り出し NSData *data = [dict objectFo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く