« Cocoaを始めよう | メイン | Cocoaはじめの一歩+α 練習問題0のつづき »

Cocoaはじめの一歩+α 練習問題0

Cocoaはじめの一歩というサイトの歩き方です。
Cocoaはじめの一歩にある練習問題を通じでXcodeとobjective-Cになじもうとする企画です。

では練習問題0をやって見ましょう。

練習問題というよりもxcodeの使い方ですね。
インターフェイスビルダー(IB)でViewを作成して、Controllerと連携するパターンです。
outletやactionをつけることができればこの問題はクリアです。
Controllerに記述するべきコードは1行。


  [textField setStringValue:@"Hello World!!"];

これがobjective-Cの基本です。
[]で囲まれた命令はメッセージを表します。括弧のなかはブランクで2のオペランドに分かれています。それは、
[レシーバ(オブジェクト) メッセージ]
という形をとります。
上の命令は、
textFieldというオブジェクトにsetStringValueというメッセージを送れ!というものです。
setStringValueの引数がhello World!という文字列です。

練習問題0のページにはちょっと気になることが書いてあります。
”日本語を使うにはちょっとした工夫が必要なので”という部分です。
@の後に””で囲まれたものを文字列として扱いますが、この部分を@"日本語"と書いて実行してみてください。文字化けしてしまいます。

よくよく見てみるとビルド時にも非ASCII文字の警告がでています。

さてここからが問題です。どうにかして日本語を表示させましょう。
cocoaの文字列はNSStringというオブジェクトです。
Xcodeのヘルプからマニュアルを探すもよし、NSString、日本語などでググルもよし、とにかく自分で探しましょう。

解答です。



xillionが見つけたのはNSStringの設定にCStringを使うものです。
@がないことに注意してください。

  NSString *myString;
  myString = [NSString stringWithCString:"日本語" encoding:NSUTF8StringEncoding ];
  [textField setStringValue:myString];

ひとつ前の投稿は「Cocoaを始めよう」です。
次の投稿は「Cocoaはじめの一歩+α 練習問題0のつづき」です。

トラックバック

このエントリーのトラックバックURL:
http://www.xillion.net/mova/mt-tb.cgi/278

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年02月11日 18:15に投稿されたエントリーのページです。

メインページアーカイブページも見てください。

Powered by
Movable Type 3.34