Core Dataで自動生成したコードでのエラーメッセージの解決方法
久々にCore Dataを使っています。今まではManagedObjectを使ってきましたが、今回初めてクラスを定義して使っています。そのためCore Dataのデザインメニューからコードを自動生成してコピー&ペーストして使っていますがそこで以下のようなエラーが!
エラーの内容をみれば、Expected ‘)’ bofore ‘HJRelation’となっており、そのままの意味だと括弧が足りないとのことですので、これには騙されちゃいますね。でも本当の原因はHJRelationというクラスを定義、あるいはインポートしてないのが原因でした。上記の場合、#importの下に@class HJRelationと追記することであのエラーメッセージはなくなりました。
たまにではありますが、xcodeでのエラーメッセージってかなり紛らわしい場合があります。これもその一つですね。
以上、覚え書きでした。
Objective-Cのファンクションを参照するには、
Cocoaでプログラミングをしているとたまにファンクションに出会うことがあります。特に本とかを読んでいるとかゆいところに手が届く有用なファンクションを紹介してくれたりもします。そんなのはどこにあるんでしょうか?一覧とかがあればいいなと思っていましたが、今日、見つけました。Macのスポットライトであるファンクションを検索してたら自分のMacの中にそのリストが載っているPDFが既にあったってことです。Foundation Framework Referenceという文書でした。普通にウェブで検索できると思います。
以上、参考までに。
iPadを何に使うか?
3日目iPadを使っています。家にいると習慣的にiPadを手にしますが、実は手にとってもあまりやることがありません。
ウェブを見る、ゲームをする位です。まだeBookのコンテンツが足りないし、何かの作業をするにもあまり向いてないツールです。今日は試しにウェブに書き込みをiPadでやってみましたが、なかなか書きづらかったんですね。やっぱり、これで何かの本格的な作業をするのは厳しそうです。
私はゲームはほぼやりませんが、iPadのおかげでいくつかのゲームを買ってやっています。が、やっぱりゲームをやっている時間はもったいないのであまりやっていられません。何より、私はiPadをゲーム機として買った訳ではありません。USのiTunes Storeから購入した映画を見るくらいですかね?でも実はそれも半分以上はMacBook Proで見ていたりします。
WIREDなど、一部のコンテンツはすばらしいです。そのようなコンテンツが早く増え、もっとiPadが活用できる日が来ることを祈っています。そしてこれから買うすべての本をeBookにしたいとも思っています。そのデバイスとしてのiPadですが、今はかなりいまいちですね。iPadは未来を感じさせてくれてはいますが、まだ不完全な未来です。
NSTableViewでCore Dataとバインディングしたカスタムセルの使用
カスタムセルで複数の値を同時に表示するためにはその値を持っているオブジェクトを渡せばいいです。
ただし、Core DataのManaged Objectはコピー(copyWithZone)に対応していないため、そのままでは使えなません。いくつかの対応方法はあるらいしいが、一番よく使われるのはObjectIDをキーチェーンで渡し、ManagedObjectContextからObjectIDをキーに該当するオブジェクトを取得することです。以下にカスタムセルを使うテーブルのカラムのバインディングのキーチェーンをObjectIDに指定する例を示します。
次に、カスタムセルを作成し、Interface Builderで該当するテーブルのカラムを選択し、セルにカスタムセルを設定します。(下図ではTDListViewCellを設定しています。)
カスタムセルでは-(void) drawWithFrame: inViewを実装します。ManagedObjectContextを取得し、objectWithIDメソッドを利用して該当するManagedObjectを取得します。このオブジェクト内の値をカスタムセルの描画に使用します。
これでカスタムセルでManagedObjectを取得することができるようになります。次はカスタムセルの描画のみです。
(ここまで頑張って調べましたが、残念ながらこれは今回は使わないことになりそうです。)
F-Script Objective-Cのためのスクリプト言語とランタイム
F-Scriptを試して見ました。スクリプトで直接何かを作る気はありませんが、グラフィカルなオブジェクトブラウザーに興味があったからです。ためしにYojimboをスクリプトからいじってみましたが結構面白かったです。開発のヒントやデバッグなどで有効に使えそうな気がします。
ちなみに、おかげでSBApplicationというクラスを見つけました。Apple Eventをハンドリングしてくれるクラス見たいですがこれを上手く使うと他のアプリを操作することが出来るようになります。これも覚えておこう!
iTuens USからコンテンツを購入
昨日発売されたiPadを早速購入して使っていますが、残念なことに日本のiTunes Storeにはそれほどコンテンツがありません。iBooksを使おうとしても買える本がほぼない状態。それでアメリカのストーアを見てみましたがここにはコンテンツが山ほどありますね。ただし、アメリカのユーザアカウントが必要であるがアメリカで発行されたクレジットカードなどが必要で、それを持っていない私としては無理。それでちょっと考えて気づいたのがiTunesのギフトカードならいいのでは?でした。早速ネットを検索してみたらやっぱい同じことを考えた人は多かったらしく、詳しく方法を書いているサイトも沢山ありました。
それでebayから50ドル分のギフトカードを購入して、アメリカのアカウントを作成しました。アカウントの作成にはアメリカのアドレスが必要ですが、ここにはあえてApple本社のアドレスを入れておきました。w
それで前から欲しかったMVや映画を購入及びレンタルして見ています。iPadは画質も音質もかなりよく、満足しています。
ちなみに、WIRED紙のiPad版を購入しましたが、これはすごいですね!本当に未来を感じちゃいます!
Windowsユーザに逆スイッチングの厳しさ
こそこそMacのアプリを作りながらも、最近新しい会社に転職しました。アメリカ系のソリューションベンダーで、そこでアーキテクトとして働くことになりました。全然新しい分野ですが普段興味を持っていた分野でもあり、楽しく仕事を始めたいところではありますが、それが以外の難関にぶつかりました。
会社から支給されたDELLのウィンドウズマシンを使いこなさないと行けないんです。しかも、この会社、最近ISMSという情報セキュリティ系の基準に準拠した認証を得たらしく、かなり厳しいんです。前職ではこそこそMacを使いながら仕事をこなしていたものの、それが持ち込みさえ禁止になってしまい、今までの仕事を全部ウィンドウズ基盤に移行するのはもちろん、Macに触る時間が限りなく減ってしまいました。
会社での最初の数日はため息の連続で、はあ〜これはウィンドウズではどうすればいいんだ?あれはどうするんだ?を連発していました。サードパティのアプリも許可なしでは入れてはいけないことになっているのでありのままのウィンドウズXPを使っています。Macでは自分に最適な環境を具備しており、いつも楽々だった作業を苦しみながらやっています。手はいまでも QuickSilverやExposeのショットキーを押しまくっています。
しかも労働時間も夜の7時くらいまでになっちゃいました。定時は5時半ですがみんな7時まではオフィスにいる雰囲気でしたので、まあそれは新人君としてしょうがなく従っています。(まだ新人君であるうちだけですが)
厳しい!早く独立しないといけない!このままじゃ日々の忙しさに埋もれて死んでしまう!と叫んでいる日々です。
ビルドの際にヘッダファイルがないというエラー
今日ちょっとはまってしまったので覚え書き。
初めてSpotlightを使うアプリを作ることになり、xcodeの新規プロジェクトの作成の際にspotlightを使うことを選択しました。それで少しコーディングをし、ビルドして見たら121個のエラーが!! 1行に10個のエラーがあるとしてもまだそんなに書いてないのに!!
色々調べましたがそれらしい解決策は見付からず。よく見かけたのはiPhone開発者がcocoa.hがないというエラーが出ると質問していることですが、それはiPhoneアプリではcocoa.hは不要なので当たり前のことで、私のケースとは無縁ですね。
まあ、最終的にはxcodeのターゲット設定のマニュアルを読むことにしましたが、それを読みながら何気なくターゲットフォルダの中にあった「アプリ名 Soptlight Importer」と言うターゲットをビルドして見てからもう一回ビルドしたら無事終了!
つまり、xcodeを使ってビルドしていたアプリのターゲットにはspotlight Importerが含まれていたが、それを事前に手動で一回ビルドして置く必要があったってことに理解しました。多分!
まあ、これでトラブルは解決!でもかなり時間を費やしました。悔しい!
MoneyViewがMac Peopleに紹介されました。
先ほどMoneyViewがMac Fan誌に紹介されたと書いたばかりですが、実は同じ日に発売されたMac People誌にも紹介されました。ただ、ここでは特にレビュー記事とかではなく、オンラインウェアの紹介ページの一部として掲載されました。
知り合いの人に自慢したら「おお、マック本デビューだね!」と言われました。とてもうれしいです!
—————————————————————————————————–
・この文書はMacISVのブログにも投稿されています。
・内容についてのご意見や突っ込みはいつも歓迎です。
—————————————————————————————————–