スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/--(--) | スポンサー広告 | トラックバック(-) | コメント(-)

XcodeでHelloWorld 【4】

XcodeでHelloWorld 【3】】の続きだヨ。

前回やったこと。
入力されたユーザ名を保管しておくプロパティを作成する為に
コードを二行書きました。めっちゃ頑張った!!嘘だけどネ!!(笑)

さて、そんな訳で。設定コードを書き、ユーザ名保管の準備もできた事だし、
今回はガッツリ、メインコードの作成に取り掛かりたいと思います(○`・△・´○)ゞ!

【changeGreeting:メソッドの実装】

changeGreeting:メソッド=今回で言う、メインコードの事ですね。
前回同様、コードはチュートリアルから丸写しさせて貰いますー。

クリックで原寸大

前回@synthesizeのコードを書き込んだmの画面をそのまま使います。
画面に羅列されているコードたちの中から
- (IBAction)changeGreeting:(id)sender {
}

の一文を探し、その{と}のカッコの中に以下の文を書き足します。

self.userName = self.textField.text;
NSString *nameString = self.userName;
if ([nameString length] == 0) {
nameString = @"World";
}
NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!",
nameString];
self.label.text = greeting;


って何だこれ長っげぇえええええ(  Д )    ゚   ゚
これはもうほんと何かの暗号みたいですね!って言うか暗号なのか!
果たしてこれはお勉強をしたところで理解する事が出来るようになるのだろうか?!
そして理解したとしていつの日には自分の意図するコードを
自ら生み出す事が出来るようになるのだろうかー!?

・・・いやはや、一気に言わんと知れない不安が押し寄せましたが、
まずはちょっと落ち着く事にしましょう・・・深呼吸深呼吸。
えーっと・・・ですね。とりあえず、この暗号が一体どういう暗号なのか
見てみることにしましょうか。

テキストフィールドからテキストを取得して、
その結果をView ControllerのuserNameプロパティに代入します。
(NSString型の)新しい変数を生成し、
View ControllerのuserNameプロパティを設定します。
書式文字列で指定された書式に従って新規文字列を作成します。
ユーザがアプリケーションを起動したけれどもテキストを何も入力しなかった場合、
nameStringの値は「World」となります。


うーん、チュートリアルさんから主要部分のみ抽出してみましたが、
相変わらずなんだか分かりにくいですね・・・なんとなくしか理解できない・・・
えーつまり、自分なりの解釈ですが、ザックリまとめると、

「名前」欄に打ち込まれた文字を名前の記録装置に取り込み保存した後、
Lableにその名前を「Hello(名前)!」と言う形で表示しますよ。
でも、もしも欄に何も入力されなかった場合(記録文字数が0文字だった場合)
Lableの表示文字は自動的に「HelloWorld!」になるよ。


・・・と、どうもこう言う事らしいのです。なにこれすっごーい\(^o^)/
さり気なく「名前の入力なんてせんとポチっとしたろ(Θ艸Θ)」なんて輩にも
ちゃんと対策をとっております!これは盲点だったワ・・・!
絶対どこにでも居ますもんね、そういう悪戯心の強い輩は・・・(笑)
流石は公式チュートリアル、抜け目ない!

そんな訳で、早速ワタクシのHelloWorldにもこの暗号を搭載してみたいと思います。
この文章(もはや文章)を一文字も間違いなく打ち込むには
それなりに神経を使いますが、幸い邪魔するものはなにもありません。
ゆっくり、慎重に写します・・・

クリックで原寸大

で、でけたー!
正しく写すのが精一杯で何て打ったか覚えてないけど(ダメや)
で、でもなんとか打ち終わったよママン!
これでボタンもLableも上記どおりに動いてくれるようになったハズ・・・!
これはもうテストして自ら試すしかありませんね。なんだかドキドキするなぁ(*´ェ`*)

ちなみにですが。ここにてXcode5でのシミュレータ起動方法をちょっくら紹介。
というのも、私自身5以前のバージョンで作ってたこのアプリ、HelloWorldが
テスト起動できなくてかなりテンパッたので(笑)折角なのでその解決法をば。

【「Appをインストールできませんでした。」のメッセージが出たときの対処法】

クリックで原寸大

これです、これ。このメッセージ。
Xcode5にアップデートした後、今まで通りに再生ボタンでテスト起動
しようとしたところ、急に出てきたエラーメッセージです。
最初出たときはもう冷や汗が吹き出まくりでした。
何かコードに間違いがあったのか?とも思いましたが、ちゃんと
「Build Succeeded」の表示は出ていたし、
(コードに間違いがあると「Build Failed」と出る)
5になったから以前のデータは読み込めなくなったのか?そんなバカな!
などと一人慌てまくりでした。予期せぬエラーにはビクっと来ますよね・・・

しかし、慌てなくて大丈夫。この現象はクリックで簡単に解決できました。
Xcode画面の左上にある、再生&停止ボタンの右側に
アプリの名前が表示されてますね。そして「iPhone」、「iOS6.1」と続いてます。
これらの表示は、どの機種のどのOSでテスト起動するかって言う、
シミュレータの設定なのですが。

クリックで原寸大

「iPhone」の部分をクリックし、ドロップダウンで出てきた選択肢の中から
「iPhone Retina (3.5-inch)」の、「iOS7」をクリックで選択します。
(Retina の(4-inch)はiPhone5用の、長い画面でシミュレートする時用の物です)

クリックで原寸大

「iOS6.1」を選択すると、これまた動かなくなってしまうので注意。
どこかで、「6.1」のシミュレータもダウンロードすれば
使えるようになると見た気もしますが、私のXcodeでは未だ使えないので
大人しく「7.0」でテストする事にしています。

クリックで原寸大

シミュレータの設定変更が出来たら、
再生ボタンで今までどおりテスト起動する事ができるようになります。

クリックで原寸大

私のHelloWorldも無事起動できました。よかったー。
表示が以前のiPhone型でなくなってしまったのはちょっと残念ですが・・・
本来ならアップルさんで開発者登録をして実機でテストしなければならないところ。
無償でシミュレート(しかも最新OSで)できる機能を利用させて頂いてるのです、
そう贅沢は言えないでしょう。

さて、無事にテスト起動もできましたところで、
いよいよ搭載した機能を実際に試してみるとしましょうか!
それじゃあ・・・えーと、そうですね。
まずは最初に「HelloWorld!」の表示を試すべく、
何も入力してない状態でボタンを押してみましょう。

クリックで原寸大

おー!!でっかいですが、ちゃんと「HelloWorld!」と表示されましたね・・・!
私の書いた暗号がちゃんとボタンやLableに伝わったのですね!何だか感動~!
この「HelloWorld!」、もしやこれがこのアプリの名前の所以だったのですね?
世界へこんにちは!だなんて、なんだか粋なアプリですねぇ(*^^*)

さあ、では次は早速、実際に名前を入力してみて
Lableさんがその名前を表示してくれるかどうか試してみましょう。
「お名前を~」の欄に、名前を入力してみます。

クリックで原寸大

お名前欄をクリックすると、自動でキーボードが出てきます。
これはなんと、テキストフィールドに最初から搭載されてる機能なんです。
入力欄を配置するだけで、キーボードの用意まで全自動でやってくれるなんて、
Xcodeさんってばやっぱ親切~!

おや・・・?しかし・・・
よくみるとこの自動キーボード、なんと英語と数字しか打てません。
ちょっと待って、ひょっとしてもしやこれはXcodeは英語でしかないから・・・?
日本語をテスト確認する為には実機でテストしないと出来ないとか・・・!?

またもや少しヒヤっとしましたが、これも大丈夫です。そんな事はありません。
ちゃんとシミュレータ上で日本語キーボードを出現させる方法があります。
こちらも簡単に出来ますので、サクっと紹介してしまいますね。

【iOSシミュレータのキーボードで日本語入力出来るようにする】

クリックで原寸大

iOSシミュレータのツールバーから、「ハードウェア」の「ホーム」を選択し、
シミュレータのホーム画面に移行します。

クリックで原寸大

左フリップでメインページへ移動し、
設定のアイコンをクリック。

クリックで原寸大

「Setting」画面の「General」を選択。

クリックで原寸大

「Keyboard」を選択し・・・

クリックで原寸大

「Keyboard」画面の、「Keyboards」を選択。
(ちょっとややこしいけど(^^;))

クリックで原寸大

「Add New Keyboard」を選択し、

クリックで原寸大

たくさんあるキーボードの中からスクロールで「Japanese」を探し、選択。
「Romaji」は英数キーボードで日本語入力できるキーボードで、
「Kana」はフリップ等で日本語入力できる、あいうえおのキーボードです。
今回は折角なので両方足しちゃいます。

クリックで原寸大

「Keyboards」の画面に「Japanese」の二つが足されればOK。
両方ともシミュレータで使用できるようになります。
ちなみにこのキーボード、不要になった場合には削除する事もできます。
その際には右上の「Edit」をクリック、後に格キーボードの横に出てくる
赤ボタンを押して「Delete」しちゃいましょう。
これで、また英語しか使えないキーボードに戻るハズです。

ちなみにキーボードだけでなく、シミュレータ全体を日本語に設定する為には
今先キーボードの設定をしたときと同じく、設定アイコンをクリックし、
「General」→「International」→「Language」→「日本語」と選択し
右上の「Done」をクリックすればOKです。
シミュレータが語原を設定しなおし、次開いたときには
ホーム画面のアイコン達も皆日本語表示されてます。
(このとき、一度シミュレータが強制終了することもありますが、
一度閉じて、再度起動させれば何も問題なく動きます)

さて、少し長くなりましたが、
これで日本語入力のキーボードも設定できた事だし、
もう一度HelloWorldの画面に戻って、名前の入力をしてみましょう。

クリックで原寸大

OKですね★
キーボードの入れ替えは言うまでも無くiPhoneの本体同様、
左下のグローバルマーク?をクリックする事でできます。
さあ、後は右下の「改行」を押してHelloボタンをクリックすれば
Lableさんが私に挨拶をしてくれるワケですね!よおし。

いざ・・・!
・・・って、あれ?・・・(^^;)

キーボードが引っ込まない。

英語キーボードに戻して、「Return」もクリックしてみましたが引っ込みません。
これではキーボードに隠れたHelloのボタンが押せないですね・・・ガーン。

そうなんです。実はテキストフィールドを設置すると
自動でキーボードを用意してくれるXcodeさんですが、
そのキーボードをしまう機能までは面倒みてくれないのです。
どのようにキーボードをしまうかは自分で設定しないといけないんですね。
クソー、ついにHelloWorldの完成だと喜んでいたのに・・・!

さて次回、デリゲートの謎!キーボード収集のメソッドとは?
ついにHelloWorldとの決着なるのか・・・!?お楽しみに(笑)

XcodeでHelloWorld 【5】】へ続く。

2013/10/20(日) | HelloWorld | トラックバック(0) | コメント(0)

«  |  HOME  |  »

コメントの投稿














管理者にだけ表示を許可する

トラックバック

トラックバックURL
http://iphonedenaishoku.blog.fc2.com/tb.php/17-f7bdfe0e
 |  HOME  | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。