前回、CHAPTER3~4へと戻って、Objective-Cやプロジェクトの基本を学習しました。今回は、CHAPTER8へ飛んでWebの情報を扱う方法を学びます。
■CHAPTER8-1
単純にWebページを表示する方法を学習します(自前のwebページがなくても、web上のものなら何でもOKです)。ObjectライブラリーにWebViewという部品があるので、これを使えばテキストビューと同じように簡単にWeb画面を表示させることができます。 URLをリクエストして設定する方法が、ActionScript3.0での方法に似ていたのが印象的でした。
おぼえよのトップページを表示させてみたのですが、ちゃんとリンクが動作するのは凄いと思いました(シミュレーターなので当たり前ですが)。あと、さすがiOSというか、Flashコンテンツが表示されていません。w
■CHAPTER8-2
Webにアップされた画像を表示する方法を学習します。CHAPTER6-1でも使ったImageViewへ、URLオブジェクトで画像を読み込むように設定します。
ここまでは、スムーズに来ました。説明読むのを入れても30分あれば十分です。
■CHAPTER8-3
WebにアップされたXMLファイルを読み込んで解析する学習です。ここでiOSとは関係ないところでハマってしまいました。
シミュレーターにXMLの内容が表示されない。。。で、解決した結果、3つの失敗をしていたことが分かりました。
まず、1つ目の失敗は、自宅サーバーにアップロードしたページのアクセス権などをちゃんと設定していませんでした。
2つ目の失敗は、Mac標準のテキストエディットでXMLを作成してワード2003xml形式で保存してしまったことです。
これに気付くのに少々時間がかかりました。それまでは、ソースコードの打ち間違いが原因だろうと、目を皿にして書籍と画面を見比べたり、書籍のサポートページからソースコードをダウンロードしてコピペしたりと遠回りしていました。
ふとブラウザでxmlを開いて、余計なタグがたくさん入っているのを見つけ、やっと気が付くことができました。
3つ目の失敗は、もう自分が情けなくなるような失敗でした。プレーンなxmlを書こうと、vinelinux6へVNCしてviで書いたところまで良かったのですが、versionの後の「=」が抜けていたのに気が付かなかったことです。
ブラウザで見てみると、英語でちゃんとエラーの原因が表示されていました。入力ミスに気が付かなかったのは、ほんと時間の無駄以外の何者でもありません。「2つ目までの失敗で、おおよそ解決したはずなのに何故?」という焦りが目を曇らせていました。「プログラマに向いてないかも」と、自分に少々ガッカリしました。
まぁ、自分の打ち間違いを疑って書籍をじっくり見たおかげで、ただ写し打ちするだけではなく、どんな処理をしているのかを考えながら見ることができたのは収穫でした。
csvの解析にも使えそうなので、応用が効く節だと思います。
■CHAPTER8-4
NSUsrDefaultという、ちょっとしたデータをアプリに記憶させる方法を学習します。書籍にも書いてありますが、ActionScriptで言うところのSharedObjectみたいなものです。テキストフィールドに文字を入れて、アプリを完全に終了して再起動すると、さっき入力した文字が呼び出されます。
ここは、コードも短いですし、仕組みが簡単なので一瞬で終わります。
と、やっとCHAPTER8が終わりました。次はCHAPTER9で複数画面の切り替えを学びます。
当初の予定から既に18日も遅れているので、猛ダッシュで「よくわかるiPhoneアプリの教科書」を卒業したいと思います。
★★★自作iPhoneアプリをAppStoreでリリースするまでの道のり★★★