サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.j-love.info
Jamiroquai(ジャミロクワイ)のCD情報だけでなく最新情報や歌詞・PV・壁紙・画像・イギリス限定DVD・グッズなどを紹介するJamiroquai(ジャミロクワイ)ファンサイト
データベースを用いたアプリ一般に関していろいろと勉強しようと思い、"Professional iPhone and iPad Database Application Programming"という本を読み始めた。この本なかなかよい。データドリブンのアプリケーションを設計する際のポイントが結構幅広く書かれている。本の紹介は別途することにして、今回はTableViewのパフォーマンスを「簡単に」改善できるかもしれない方法をご紹介。 透過性のビューを極力使わない UITableViewCellにはデフォルトで4種類のスタイルが用意されているが、これでは不十分な場合、自分でセルをカスタマイズすることになる。 その方法はいろいろあるが、中でも簡単なのはセルのcontentViewに別のビューをペタペタと貼付けていく方法だ。サブビューの作成と追加はTableViewDataSourceのメソッドta
10.09.01 Core Data Overview : 重要なクラス ものすごく便利な機能がたくさんあってもなかなか使いこなすのは大変なCore Data。基本の登場人物をまとめてみた。全体像が見えているとリファレンスガイドも楽に読めるようになるし、何より、「やりたいこと」があったとき、何を調べればよいかの見当がつくようになる。 ということで、まずは根っこからCore Dataの「仕組み」を把握しよう。 ここで紹介する主な登場人物は以下。 NSPersistentStoreCoordinator NSManagedObjectContext NSManagedObjectModel NSManagedObject NSEntityDescription NSFetchRequest ここまではMac OS, iOS共通。iOSでは上記以外にNSFetchedResultsControl
ベストセラー横断表示もできます: Takewari: You can cross-search Amazon world wide with currency converter. Takewari: Sie konnen Cross-Suche Amazon world wide mit Wahrungsrechner. Takewari: vous pouvez recherche croisee Amazon world wide avec convertisseur de devises. 竹割であなたは世界の アマゾンを通貨換算機能つきで横断検索できます。 Takewari in English - Takewari in Deutsch - Takewari in francais - 日本語で竹割 日本 | アメリカ | イギリス | ドイツ | フランス | カナ
最後の二つが今回から追加された状態であり、状態の変化はNotificationで取得することが可能。また、同時にUIApplicationDelegateのメソッドもコールされる。 状態遷移やそのときにポストされる通知については iPhone Application Programming Guide が詳しいのでそちらを参照のこと。 これらの状態を踏まえて、マルチタスク化をする際に”最低限”やっておくことを順にまとめる。 ※なお、どうしても以下の処理ができないのであれば、必ずinfo.plistにUIApplicationExitsOnSuspendを追加して値をYESにしておこう。 終了処理 終了時に通るパス アプリケーションが"Active"の状態から"Not running"の状態に遷移する過程で、必ず通るパスがある。そこでデータや設定などを保存しているアプリが多いと思うのだが、こ
10.07.01 iOS4.0 マルチタスク対応 関連資料 これまでのiOS 3.x用アプリをiOS 4.0用に拡張中。iOS4.0ベータが出たころにはまったく手をつける余裕がなく、実際に着手したのは本当に最近。。。 まずはマルチタスク対応から。 マルチタスクと言っても対応中のアプリはバックグラウンドで動作することはなく、ただひたすらsuspendしているだけ。それでも、データ保存のタイミングやメモリ解法、復帰時の処理などなどいくつかケアしなくてはならないことがある。うかつにSDK4.0でビルドだけして公開すると、ユーザーデータの保存タイミングを逃したり、パスワード情報など見せてはいけないものを画面に表示してしまったり、大きな問題になりかねない。怖い怖い。ということで、まずはじっくりお勉強。 今回のマルチタスク対応にあたり、資料がかなり充実していて助かった。 おすすめなのはWWDCのセッシ
10.02.16 Core Data 勉強日記 (3):More iPhone 3 Development / chapter 3 (前半) ただいま、More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) にてCore Dataの勉強中。 本題とは直接関係ないが、この著者の設計方針にはかなり共感が持てる。最終目的は「どうにか動いているアプリ」ではなく、「最適な設計により作られたよいアプリ」である。 Chapter 3では、Window-based Application を利用して、Core Dataを利用するアプリケーションをスクラッチから書いてみる。 前半部分で、Xcodeのデータモデルエディタを利用して、Managed Object(.xcdatamodel)を作成する方法が丁寧に説明されている。 データモデルエデ
「恐れていたことが起こった。これはスペースシップAIによる大量殺人行動である。」 センセーショナルな文句がメディアに掲載され、それに関して議論が巻き起こる。多数の惑星間スペースシップがそれぞれ最大出力で一様にポラリス(北極星)に向かう衝撃的な映像が流れる。その映像は早送りされ、さながら故郷に向かう渡り鳥の群れのようであった。この映像のインパクトと、SNSでは2階層でほとんどの人がこの現象の関係者にたどり着き、人類のほとんど全員が関係者となった結果などで、ありとあらゆるメディアで何が起こっているのかの討論が行われた。大多数は主にスペースシップAIの何らかの不具合を指摘しており、その中でAIが人を必要としなくなり、殺人を起こしているという意見も目立っていた。 その後、事故原因はスペースシップの自己位置推定装置に起因するとされ、議論は収束したように見えた。 合計で2000万台の巡航中のスペースシ
10.06.16 SDK(OS)互換性 現在iPhone OS 3.0以上に対応させてアプリをリリースしているが、今後、iPad(iPhone OS3.2)やiOS 4に対応していく際に何に気を付けるべきか。ユーザーの幅を広くするために下位互換は保ちたい。しかしながら、新OSで追加された新機能も使いたい。そのためにも、SDKベースでの開発における互換性維持について正確な知識が必要だ。 以下にSDKベースでの開発における互換性の概念と設定、実装方法をまとめる。 参照:SDK Compatibility Guide SDKの設定 ここは絶対理解しておきたいところ。XcodeのプロジェクトとしてSDKを利用する際には以下の二つの設定が必要となる。 [Base SDK] ビルド設定のパラメータ名: SDKROOT Base SDKで設定したバージョン以下の機能を実装することができる。 [Deplo
10.04.25 Core Data Performance : バイナリデータの保存 Core Data のパフォーマンスを良くするためのテクニックはいくつか存在するが、その中でも重要だと思われるバイナリデータの扱いについて記載されている書籍を見つけたので参考までにまとめておく。 Core Data: Apple's API for Persisting Data on Mac OS X (リンク Amazon) の6章に分かりやすい解説があった。ただし、この本は主にOSX用に書かれたものなので、目安となるバイト数はiPhoneOSでは少し変わってくるかもしれない。それでも三通りの方法を使い分けるべきだという基本概念は十分iPhoneOSにも流用できるし、各方法がどのようにパフォーマンスに効いてくるかという理論的な部分は是非理解しておきたいところ。 バイナリデータの管理方法 例えば、レシ
10.04.23 Xcode : エディタの縦分割 新しくクラスを作ると最初のうちはソースとヘッダを行ったりきたりしませんか? ソース/ヘッダ間の行き来にはいろいろな方法がありますが、エディタの縦分割はなかなか便利です。 エディタの分割 まずはじめにソースまたはヘッダーを独立したエディタで開く。 ここでエディタ右上にある「分割ボタン」を押すとデフォルトではエディタが横に分割されるが、Optionキーを押しながらこの「分割ボタン」を押すことでエディタを縦分割することができる。 この時点では、左右に同じファイルが表示されているので、片方を「対応ファイルボタン」(鍵マークの隣のボタン)で変更する。なお、このボタンを押すとソース/ヘッダの切り替えが行われるので、分割せずに使っている場合やプロジェクトウィンドウ内でエディタ表示をしているときに使ってもかなり便利。 私の場合、左にソース、右にヘッダを配
10.04.20 Xcode : Product validation (ビルドプロダクトを検証) 先行してiPadアプリの開発をしようという気がなかったため、最近までSDK3.1.3を使っていたのだが、さすがに今回アプリをアップデートするためにSDKも更新した。 これで無事、SDK3.2/Xcode 3.2.2 の組み合わせになった。 iPhoneアプリの開発なので、SDK自体は3.1.3以前しか使わないが、Xcodeの進化に驚いた。iPadアプリは開発しないからいいやと思ってアップデートしていない人がいたら、是非アップデートすることをおすすめしたい。 なんと、App Storeレビュー時に行われる正当性確認テストが手元でできるようになったのだ。詳しいことはわからないが、プライベートAPIを使っていないかとかその手のものではないだろうか。 ビルドオプション(ビルドプロダクトを検証) テス
Beginning iPhone 3 Development: Exploring the iPhone SDK の続編で、主にiPhoneSDK3.0から追加された機能に重点を置いて書かれています。各項目に関して掘り下げて書いてあるだけでなく、要所要所で設計方針やXcodeの使い方に関するTipsがあったりと、読み応えは十分。最初はCore Dataの勉強のために購入したのですが、この著者の設計方針がかなり気に入りCore Data以外の細かな点でも得るものは大きかったです。 構成 大きく2部にわかれていて、Part IはCore Dataについて、Part IIでは、GameKit, Bonjour, MapKit, iPod libraryなどの機能のほかに、デバッグに関するHow toなどが書かれています。目次は、出版社のサイト(http://www.apress.com/book
10.04.01 NSPredicate : テンプレートを利用した生成方法(パフォーマンス改善) Core Dataのデータをフェッチするとき、特定の条件を指定したければNSPredicateを使う。NSPredicateは、Core Dataに限らず、NSArrayなどにも利用可能。このNSPredicateを作成する際の小ワザ的な話として、テンプレートを使う方法が以下のドキュメントに載っていた。 Max Dev Center: Core Data Snippets: Fetching Managed Objects ... NSPredicate’s predicateWithFormat: method is typically the easiest way to use a predicate (as shown in “Fetch with a Predicate”), bu
10.03.12 セルフブランディングについて考えさせられた一冊 "ネットがあれば履歴書はいらない by 佐々木俊尚" 最近、この本を読んだ。 ネットがあれば履歴書はいらない-ウェブ時代のセルフブランディング術 (宝島社新書) ウェブを利用して自分をアピールするためには何ができるか、何をすべきかが書かれている。 情けない事に私は、この手の分野は非常に苦手である(あった。ただいま克服中)。これまで、インターネット上に自分の痕跡はほとんど残してこなかった。以前のように企業勤めをしていた頃はこれでもよかったが、今は一人だ。 とにかくこの状況を改善しようと、自分なりにいろいろなことを初めてみた。遅ればせながらTwitterを始め、開発者グループに登録し(ドイツに住んでいる関係上、参加できる可能性はかなり低いが・・・)、また、他の開発者とも積極的に交流を持とうと努力をするようになった。 それでも、
10.03.11 NSFetchedResultsController : sectionNameKeyPath設定時の注意 Core DataをUITableViewと組み合わせて使う場合、NSFetchedResultsControllerを使うと非常に便利。 NSFetchedResultsControllerとは、一言で言えば、Core Data(の永続ストア)からフェッチしたデータを、UITableViewに表示しやすいようにsectionとrowで管理してくれるものだ。fetchRequestだけを使ってあとは自力でやるより、遥かに楽になるのでぜひ活用したい。 が、はまりどころがいくつかある。セクション情報あたりの挙動だ。 sectionNameKeyPathを指定して、セクション情報を生成する場合、以下のことは結構重要。 まず、FetchedResultsControll
09.11.29 Objective-C メモリ管理 : 生成と解放 Objective-Cを扱い始めて最初に戸惑ったのは、メモリの管理だ。 慣れるまでだいぶ苦労したので、ポイントをまとめておこうと思う。 ただし、ここにまとめる内容は超基本事項。とくにすばらしい機能ではない。。 しかしながら、数ヶ月ほどほかの言語を書いていると案外忘れてしまうものなので(汗)、自分のためにまとめておく。 そもそもリファレンスカウンタとは何か。 リファレンスカウンタ方式のメモリ管理では、そのインスタンスが何カ所から参照されているかを示すカウンタを用いてメモリを管理する。 同じインスタンスを複数のオブジェクトが参照しているとしても、複数個、同じオブジェクトを作成するのではなく、同一のオブジェクトを全員が参照するのだ。 はじめはだいぶ戸惑ったこの方式、慣れてしまえばお手の物。 インスタンスの生成と解放
10.02.25 Core Data 勉強日記 (12):More iPhone 3 Development / chapter 7 (取得済みプロパティ/Fetched Property) More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) Chapter 7 のまとめ。 前回の Chapter 7 : 関連 (Relationship) に続き、ここでは取得済みプロパティ(Fetched property)について。 取得済みプロパティ/Fetched Properties Entity に追加できるプロパティの種類として取得済みプロパティ(Fetched Property)というものがある。これは、ある条件に一致するManagedObjectだと思えばよい。なお、Fetched Property は常に不変(imm
10.02.23 Core Data 勉強日記 (10):More iPhone 3 Development / chapter 6 (Validation) More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) Chapter 6 のまとめ(後半)。 カスタムモデルの生成方法に関してはChapter 6(カスタムモデル)でまとめたが、ここでは、値の有効性チェック"Validation"についてまとめる。 Validationとは、値を変更する際にその正当性をチェックし不当ならエラーを返すというもの。簡単な有効範囲の指定(最大値や最小値など)であれば、データモデルエディタでできるが、細かいチェックや複数の変数をまたいだチェックを行いたければ、NSManagedObjectのサブクラスでチェック用のメソッドの実装する必要があ
10.02.20 Core Data 勉強日記 (8):More iPhone 3 Development / chapter 5 (データモデルのバージョン管理) More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) Chapter 5 のまとめ。 まずはじめに、Core Dataを利用して保存したデータは、データモデルに変更があると、そのままでは使えなくなる。データモデルを変更したにも関わらず、旧構成のデータが保存されている状態では、アプリは起動すらできない。 かといって、初回リリース時に今後のすべてのアップデートまで見越したデータ構成にしておくことは難しい。そこで、データモデルのバージョン管理が必要になるのだ。 Core Dataの勉強を始めたばかりの頃、このことを知らずに結構はまったっけ。 一瞬、データモデルの
10.02.19 Xcode : メソッドリストにコメントを表示 最近、Xcodeのメソッドリストにソース内のコメントを表示できることを知った。もちろん、リストからそのコメントを選択すれば、コメントが書かれている箇所まで飛んでいく。非常に便利である。 ファイル内に記述されているすべてのメソッドを一覧表示してくれるのがメソッドリスト。ここを選択するか、Ctrl-2で表示できる。 このリスト内に、コメントの一部を表示することができるのだ。 例えば、以下のリスト内にある、 TODO: Alert message should be shown to user. FIXME: These four delegate methods have crash problem. ???: This operation may have problem when frcSectionCount is l
編集用画面 編集項目に応じて編集画面も異なったものとなる。しかし、基本機能(ManagedObjectのある項目を変更、保存し、元の画面に戻る)は同じであるため、親クラスを一つ用意し、項目に依存した部分のみサブクラスに分離する。 例えば、以下のようなクラスを生成する。 ManagedObjectAttributeEditor (親クラス) ManagedObjectStringEditor (NSString編集用) ManagedObjectDateEditor (NSDate編集用) ManagedObjectSingleSelectionListEditor (チェックリスト用) UITableView である行を選択したとき次の画面を表示させるために、新規にViewControllerを生成し、NavigationControllerにpushする。勉強日記(6) Chapter
10.02.16 Core Data 勉強日記 (3):More iPhone 3 Development / chapter 3 (前半) ただいま、More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) にてCore Dataの勉強中。 本題とは直接関係ないが、この著者の設計方針にはかなり共感が持てる。最終目的は「どうにか動いているアプリ」ではなく、「最適な設計により作られたよいアプリ」である。 Chapter 3では、Window-based Application を利用して、Core Dataを利用するアプリケーションをスクラッチから書いてみる。 前半部分で、Xcodeのデータモデルエディタを利用して、Managed Object(.xcdatamodel)を作成する方法が丁寧に説明されている。 続きを読む 10
09.10.26 iPhoneアプリ開発:XcodeのBuild and Analyze iPhone, iPod touchアプリ開発、Tips集の記念すべき第一回として、先日感動した「Build And Analyze」機能についてまとめる。 これを使うと、Xcode上で静的解析を行うことができる。 つまり、ビルド時に、コードをチェックして不整合を指摘してくれる機能なのだ。 解析エンジンはClangだ。これまでは、ターミナルを起動してClangを実行させる必要があったようだが、最新のXcode(Xcode3.2もしくはそれ以上)では、Xcode上で簡単に利用することができるようになった。これを使わない手はない!のだ(ちなみに、Natsuは、ターミナルでClangを実行させたことはない・・・)。 そして、この結果の見え方がまたすごい。矢印で問題点を順に指摘してくれる。まさに、先生
10.02.12 Core Data 勉強日記 (1):Core Data Tutorial for iPhone OS 今後作りたいアプリのためにはCore Dataの知識は不可欠だと思い、少し前から勉強を開始した。 十分勉強してから、役に立ちそうなことをまとめていこうと思っていたけれど、Core Dataは奥が深い。 復習のためにも、こまめにまとめていったほうがよさそう。 ということで、勉強日記開始。 まず、前提条件だが、 Core Dataの事前知識ゼロ データベース(SQLなど)に関する一般的知識ゼロ Cocoa touch のプログラミング経験はあるが(アプリを3本公開中)、Cocoa(Mac OS用)は遊びでさわった事がある程度 と、いうところ。結構、前途多難だと思われる。。。 最初は、いつものごとくiPhone Development Centerでドキュメントを探す。
本ウェブサイトは、開発者 Natsu による iPhone, iPod touch アプリケーションのサポートページです。 iPhone, iPod touchアプリ開発、Tips集の記念すべき第一回として、先日感動した「Build And Analyze」機能についてまとめる。 これを使うと、Xcode上で静的解析を行うことができる。 つまり、ビルド時に、コードをチェックして不整合を指摘してくれる機能なのだ。 解析エンジンはClangだ。これまでは、ターミナルを起動してClangを実行させる必要があったようだが、最新のXcode(Xcode3.2もしくはそれ以上)では、Xcode上で簡単に利用することができるようになった。これを使わない手はない!のだ(ちなみに、Natsuは、ターミナルでClangを実行させたことはない・・・)。 そして、この結果の見え方がまたすごい。矢印で問題点
iLoan Calc はボーナス払い、繰上げ返済対応のローン計算アプリケーションです。住宅ローンはもちろんのこと、自動車ローンなど、その他のローンの計算にもご利用いただけます。 すでに利用中のローンについて、詳細まで知りたいときも、これから利用予定のローンを比較したいときも、iLoan Calcが必ず役にたちます。 ぜひ、iLoan Calcを使って、ローンの隅々まで、知って、比較して、検討してみてください。 clockBIN proはデジタル表示つきのバイナリ(2進)時計/タイマーです。 時計とタイマーは、画面を横スクロールすることで選択可能です。 デジタル表示がついているので、バイナリ値の読み方に自信がなくても大丈夫。ビットの変化を秒針代わりに眺めてみてください。 色付きLEDが点滅しているかのようなバイナリ時計、一度見始めると、なんだか目が離せなくなる、そんな時計です。
次のページ
このページを最初にブックマークしてみませんか?
『J Love: Jamiroquai / ジャミロクワイ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く