プロが教える店舗&オフィスのセキュリティ対策術

当方Leopard10.5.1、Xcode3.0で初めてのプログラミング(html,applescriptは経験済み)に挑戦しています。
しかし簡単な電卓などを作った時点で、複雑なアプリケーションに挑戦し始め、
分からない事が多くなってきました。
今までは書籍には頼らずウェブ上のソースで頑張っていましたが、3.0での変更点はかなり大きいもので
(特にIB、classの位置づけ?みたいなものが)だんだんと自分が何をやっているのか
わからなくなってきました。書籍に頼ろうにも、最新のものでもtiger対応の指南書のみで
3.0をサポートしてくれているものは見つかりません。

3.0の学習に挫折しそうなのですが、ここでtigerのバージョンのXcodeにダウングレードした場合、今後の互換性などの問題はどれくらいあるのでしょうか?すぐにTiger付属のXcodeが使い物にならなくなるという事はあるでしょうか?せっかく操作を覚えて行くのですから、当分は同じバージョンのXcodeを使いたいと思い質問させていただきました。
半ば愚痴のような質問で申し訳ありません。プログラミング経験者の方、意見をお聞かせください。

A 回答 (2件)

Xcode 3.0になって、Interface Builderの操作に大幅な変更がありましたが、慣れれば、より使い勝手がいいほうに進化していることがわかります。


前バージョンのInterface Builderでは、Interface Builder上で、サブクラスとそのインスタンスを作成し、ファイルを書き出すという順番ですが、Xcode 3.0になってから、Xcode上でサブクラスのファイルを作成し、それをInterface Builderにシンクロさせるという順番に変わっています。つまり逆になってるんですね。
前バージョンでは、あとからサブクラスに加えた変更を、Interface Builderに反映させるのがたいへんでしたが、新しいバージョンで、かんたんにできるようになり、大きな進化だというわけです。
ここさえ押さえておけば、あとはたいしたことはないんじゃないかと思います。いちおうObjective-Cが2.0になって、大幅な変更を受けてはいますが、前バージョンと互換は保たれているので、変更部分は使わなければいいだけです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。なるほど、サブクラス(クラスでは無いのですね)の仕様が変更されたのにはそんなメリットがあったのですか。
ちなみにそのサブクラスというのは.m .hファイルの事ですよね。

その違いは基本的なガイダンスを受けた時点で理解していたつもりでしたが、いただいた回答を見てまだ何か理解が足りないように思いました。
もう一度簡単なソースコードに触れてみて、2.xと3.0の違いを理解できないか
挑戦してみようと思います。無理なら2.5に戻ります。

少し趣旨はずれましたが、それでも構いません。3.0でやっていくに当たって注意する点などありましたら引き続きアドバイスお願いします。

お礼日時:2007/12/22 03:22

http://developer.apple.com/documentation/Graphic …

これはXcodeヘルプにも収録されているので、オフラインでも読むことができます。
ImageKitという、iPhotoをフレームワークにしたような、すぐに実用に使えるようなアプリケーションを作ることができる、プログラムです。
説明は、Xcodeで新規プロジェクトを作ることから始まって、Interface Builderの操作手順、ソースコードの記述など、かなり細かいステップで進んでいきますので、Xcode 3.0のチュートリアルとしても、役に立ちます。

> なるほど、サブクラス(クラスでは無いのですね)の仕様が変更されたのには

サブクラスの仕様が変更されたわけではありません。サブクラスの作成のしかたに、変更があったのです。
Mac OS Xのプログラミングでは、作成するクラスは、すべてNSObjectのサブクラスです。NSObjectのサブクラスでないクラスを作成することも可能ですが、実作業で、そのような局面に遭遇することは、まずありません。

> 少し趣旨はずれましたが、

> ここでtigerのバージョンのXcodeにダウングレードした場合、今後の互換性などの問題はどれくらいあるのでしょうか?

こちらの質問には答えませんでしたが、こちらが主要な質問だったのでしょうか?

http://developer.apple.com/tools/download/
Xcode 2.5が、3.0と同じ時期にリリースされています。これをダウンロードしてお使いになってもいいのではありませんか?
2.5でも、コンパイル時にUnversal Binaryを指定すれば、Leopard用、Intel Mac用に互換があるプログラムを作成できるでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。もう少し3.0で頑張ってみようと思います。

お礼日時:2007/12/26 12:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!