<   2007年 05月 ( 11 )   > この月の画像一覧

Objective-C Primer 番外編 目次

最新更新
Objective-C Primer 番外編 10.オブジェクト〜最終回〜 6/1/23:55
Objective-C Primer 番外編 9.オブジェクト〜カプセル化〜にコード説明を追加 5/25/23:30
Objective-C Primer 番外編 徹底C復習 付録A.配列 5/25/21:00


目次
第1回.準備。Xcodeのエディタの設定説明などです。最終更新日時5/12/19:30
第2回.変数。
第3回.データ型。主要なデータ型のみに絞って説明しています。
第4回.制御文その1。while文、do-while文、continue文、break文の説明をしています。最終更新日時5/9/22:00。
第5回.制御文その2。switch分、for文を説明しています。最終更新日時5/12/00:50
第6回.構造体。最終更新日時5/5/15:00
第7回.オブジェクトを作る〜クラス〜。最終更新日時5/17/21:00
第8回.オブジェクトを使う〜インスタンス〜 最終更新日時5/19/23:00
第9回.オブジェクト〜カプセル化〜 最終更新日時5/25/23:30
第10回.オブジェクト〜最終回〜 最終回日時6/1/23:55

付録A.配列 最終更新日時5/25/21:00
「第5回.制御文その2」と「第6回.構造体」の間を埋めるものとして「付録A.配列」というのを加えました。

予定
「第10回.オブジェクト〜最終回〜」で Objective-C Primer を一旦終了します。お役にたてたかどうか分かりませんが、もともとObjective-C言語を読むうえでのC言語の説明にポイントを置いていたので今回のオブジェクトの説明が終れば、一応当初の目標を達成したと思います。
 今後は、このブログとホームページに分割された「Objective-C Primer 番外編」「Objective-C Primer」および「C言語予約語一覧」を新サーバーへ移転してまとめる(整理する)予定です。
[PR]
by vivacocoa | 2007-05-28 11:04

Objective-C Primer 番外編 10.オブジェクト〜最終回〜

最新更新日時6/1/23:55

サンプルコードのSeito.mで一部不具合がありましたので新しいものに変えました。6/1/23:55

新しいサンプルコードは seito3.zip からダウンロードできます。

実行方法
ターミナルでの実行方法は次の通りです。
cd Desktop/seito3
vivacocoaファルダに移動されていた場合は
cd Desktop/vivacocoa/seito3
続けて
cc main.m Seito.m -o seito -framework Foundation
これで seito という実行ファイル名でコンパイルされます、実行は
./seito
とコマンドして実行します。

「名前」は先頭が空白文字で始まらない限りなんでも受け入れることにしました。
「点数」は0から100までの数字のみを受け付けます。
「評価」は自動でされるようにしました。
もう1度試してみたい場合は最後に y (イエス)を、終了する場合は n (ノー)をタイプしてください。

続きはこちら
[PR]
by vivacocoa | 2007-05-25 16:32

Objective-C Primer 番外編 徹底C復習 付録A.配列

最終更新日時 5/25/21:00

配列
この「付録A.配列」は「第5回.制御文その2」と「第6回.構造体」の間ぐらいで説明すべきことでしたが、あらためてここで説明します。

配列とは、同じデータ型の集まりに 0 から始まる通し番号をつけてそれぞれのデータ(配列の中ではこれを要素と呼びます)を区別できるようにしたものです。この配列の要素番号を使ってその個々のデータを取得したり設定したりすることもできます。

 C言語の中で最も頻繁に登場する配列は文字型charの配列でしょう。C言語の文字列はこの文字型charの配列として値(文字列)を保持しています
char ss[100];
 と char 型を100個並べた配列を宣言することも
char ss[] = "ABCD";
 と配列の要素数を指定しないで宣言して、同時に"ABCD"という文字列定数で初期化して結果的に要素数5個の配列を作ることもできます

続きはこちら
[PR]
by vivacocoa | 2007-05-19 23:06

独り言

勉強会
今日は関西某所で勉強会をやっている。今回は参加者がスペシャルで2次会もスペシャルみたいだ。そしてまた今回のホストさんが丁寧で呼びかけも熱心だ。とっても行きたくなる。でも私は家にいなければならない用事があって行けない。でも行きたい。でも行けない。と思考回路が無限ループ状態だ。唯一の救いは今日は出かけるには天気が悪いと自分に言い聞かせることだけだが、天気もだんだん回復してきている。ツライな〜と思っていてふと思い出した。
 「あ、MUGNETに行かなアカン」
別に行かなアカンということはないのですが、1度行ってみようと思っていたのを忘れていた。
今度行こ〜っと。

英語

このブログの最初のほうに「今年に入って英語の勉強ばかりしていました」と書きました。よく考えたら「あれ?、体調が悪かったのでは?」と誤解されるなと思いました。実は、机に向ってコンピューターに向って手を動かすのはできなかったのです。そういう姿勢と作業が手術跡に負担をかけるらしいです。実際にやってみても「あ、これは無理だ」という感じでした。変な話し「散歩することは推奨するが、パソコン作業は控えるように」というお医者の指示だったのです。で私がしていた英語の勉強というのは、読み書きではなくて聞く話すがメインだったのでどんな楽な姿勢でもできるわけです。iPodに仕込んで散歩しながら聞くという事もできます。ただしこれはおすすめはしません。散歩はやっぱり音楽でも聞きながらが良いです。英語だと頭が疲れます。
 でも数ヶ月ぐらい勉強したところで全然上達しませけどね。私は(笑)。

ぐるっと一周

これもなんのことだか意味不明でしたが、結局、いろんなプログラミング言語の入門編をちょこちょこっと試してみて気持ちがスッキリした。とそれだけのことです。カタルシスを得られたというか。
 もとは人から「RubyかPythonをやってみたら」と薦められた事がキッカケでしたが、面白いですよね、このあたり。
[PR]
by vivacocoa | 2007-05-19 14:12

Objective-C Primer 番外編 9.オブジェクト〜カプセル化〜

最終更新日時5/25/23:30
atoi()関数のための stdlib.h ヘッダファイルの読み込みを忘れていました。サンプルコードを修正したものに変更しました。 5/26/00:00

今回は、
1. カプセル化
2. ポリモルフィズム [polymorphism](多態性)
を説明する予定でしたが、ポリモルフィズムはObjective-Cにおいてはメッセージ式の左側(オブジェクト)が違えば右側のメソッドが同じでも構わない。というだけのことです。
メッセージ式
[オブジェクト   メソッド]
左側のオブジェクトのところをレシーバーとも呼びますが、レシーバーが違えば右側のメソッド(セレクタとも呼ぶ)が同じでも構いません。これは違う関数で同じ名前のローカル変数が存在していても問題ないのと同じことだと思っていただいて結構です。
次にカプセル化も難しい概念ではありません。一番難しいところはいつのまにか過ぎたみたいです。

サンプルコードは seito2m.zip からダウンロードできます。

続きはこちら
[PR]
by vivacocoa | 2007-05-18 00:26

Objective-C Primer 番外編 8.オブジェクトを使う〜インスタンス〜

前回は @interface 〜 @end と @implementation 〜 @end を使ってクラスの宣言をしました。クラスはオブジェクトの設計図のようなものです。この設計図(クラス)をもとにしてメモリー上にオブジェクトを配置します。この作業を実体化と呼び、実体化されたオブジェクトをインスタンスと呼びます。
「クラスはこのままでは使えません」という箇所を削除しました。

 今回のサンプルコードは前回と同じものです。 seito1m.zip からダウンロードすることもできます。

 Objective-Cも main 関数からプログラムは始まります。

続きはこちら
[PR]
by vivacocoa | 2007-05-13 20:06

テレビが見たい

テレビが見たい。でも机の向きと正反対の向きにテレビがあるのでコンピューターを触りながらテレビを見ることができない。配置を換えるのもちょっと無理。
 そこでマックで見ることができるテレビがあればと思う。方法は3つある。
1. マックにParallels を入れて、さらにWindows XP を入れて Gyao を見る。
2. USB接続のテレビチューナーで見る。
3. USB接続のワンセグチューナーで見る。

1.は、いずれは Parallels を入れて Windows XP を入れてと思うが、テレビを見るという目的だけに絞るならずいぶん遠回りでお金もかかる
2.は、近所のPCショップで15970円で売っていた。普通のテレビのようにリモコンもついている。そのリモコンがなんとなくダサイので少し躊躇する。リモコンって家の中に一杯あってもういいかげんになくして欲しいと思うし。
3.は、近所で同じく12700円で売っていた。ワンセグというのが「新しい」感じがして気をそそられる。でもワンセグって大丈夫なのかな?、ちゃんと写るのかなぁ?

悩む。

今夜はなぜか非常に眠い。Objective-C Primer 番外編も気がかりだけど、今夜は休ませてもらうことにします。おやすみなさい。

2007/5/13
[PR]
by vivacocoa | 2007-05-12 00:54

Objective-C Primer 番外編 7.オブジェクトを作る〜クラス〜

この回のタイトルは、「オブジェクト」から「クラス」に変わり、そして「オブジェクトを作る〜クラス〜」に変わりました。「オブジェクトの設計〜クラス〜」でも良かったのですが、「作る」という語感が易しそうなのでこれにしました。
 前回までに、int、char、ポインターというような単純なデータ型を説明し、構造体という複合的なデータ型を説明しました。単純なデータ型は言語の仕様として、あるいは処理系の仕様として最初から型の宣言がなされていましたので後はそのデータ型の変数を宣言して使用するだけでした。
 構造体の場合は、自分で型の宣言をして、そしてその次にその構造体の変数を宣言してはじめてその構造体が使えました。
 オブジェクトの場合も構造体と同じです。まずその型を宣言します。そしてその宣言したオブジェクト型の変数を宣言して実際に使い始めることになります。さらにオブジェクトが今までのデータ型と決定的に違う点は、そのオブジェクトがそのオブジェクト自身の動作・振る舞い、そしてそのオブジェクトの中のデータを操作するための仕組みも持っていることです。この動作・振る舞い・操作などをする部分をメソッドと呼んでいます。このメソッドは独特の記述方法で書かれていますが、中身は今までに出て来たC言語の関数と同じです。要するにオブジェクトは構造体にそのオブジェクト専用のメソッド(関数)がくっついたかたちになっています。したがってもうデータ型とは呼ばずにオブジェクトと呼ぶことになりました。

 多くのオブジェクト指向言語ではオブジェクトの定義(宣言)がされているものを「クラス」と呼び、そのクラスの変数を宣言して実際に使用できるようにしたものを「インスタンス」と呼んでいます。このことはObjective-Cでも同じです。そして「クラス」と「インスタンス」を合せて「オブジェクト」と呼んでいます。

なお、「宣言」と「定義」という言葉は、場合により使い方が変わってきます。だいたいの意味が通じればそれで良し、ということにしておきます。

では、サンプルコードからはじめます。サンプルコードは seito1m.zip からダウンロードすることもできます。

続きはこちら
[PR]
by vivacocoa | 2007-05-06 12:04

Objective-C Primer 番外編 徹底C復習 6.構造体

構造体はデータ型の一種類という位置付けになりますが、今までのデータ型とは1つ大きな違いがあります。それはユーザー(プログラマ)が型の宣言をしなければいけないという事です。
 今まで使ってきたint, char, ポインター、そしてviva Cocoa ホームページで紹介している float, double, BOOLなどはデータ型の宣言を、言語の仕様としてすでに済ませてあります。ですからいきなり、
int    intVal;
と変数の宣言ができました。
この時点で、もし「int」というデータ型の宣言がなされていなければコンパイラはエラーを返します。しかし構造体は「ユーザーが作る新しいデータ型」なのでユーザーが宣言をしなければコンパイラにとってはまったく未知の型となり、エラーとなってしまいます。

フレームワークなどで使われる最初から宣言されている構造体もあります


 では「seito」という新しい構造体のデータ型を宣言して実際にそれを使ってみます。
サンプルコードは seito.zip からダウンロードできます。

続きはこちら
[PR]
by vivacocoa | 2007-05-04 22:46

Objective-C Primer 番外編 徹底C復習 5.制御文その2

この制御文その2では switch 文と for 文の説明をしております。
最終更新日時05/12/00:50
サンプルコードのダウンロード。
最終更新日時05/11/23:20


switch 文
前回の「4.制御文その1」で紹介したwhile文の中にif文を記述するという手法はユーザーからの指示を待つアプリケーションでは良く用いられる方法です。しかし if文をずらずらと並べて行くコードは分かりにくいですよね。そこでこのようなアプリケーションの指示を待つループの中で良く使われるのが switch文です。

まずはコードを見てください。なおこの回のサンプルコードは control2.zip からダウンロードすることもできます。

続きはこちら
[PR]
by vivacocoa | 2007-05-02 16:42