• ベストアンサー

Objective-Cの効率的な勉強

objective-cを勉強しているのですが、クラスの意味や コードの構造が中々理解できません。 そういった基礎的な事を習得できるドリルや問題集は ありませんでしょうか?非常に困っています。 どなたかご教示頂けないでしょうか。

noname#213637
noname#213637

質問者が選んだベストアンサー

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.3

>>まずは、簡単なコードを基礎的な要素から徹底的に解説して くれているような書籍や本が欲しいのですが、そういったものを ご存じないでしょうか? 残念ながら、私はiPhoneの開発の経験がないので、ぴったりの本の紹介は無理でしょう。 そもそも、私はiPhoneのユーザじゃあないですからね。 なお、C言語の学習ってことでは、何冊もの本を用意することになると思います。 学校で学ぶときに、学年ごとに別の教科書があり、さらに何冊もの教科別の教科書を使いますが、objective-c学習においても同じだと思います。 ・入門用の簡単な本 ・言語解説書 ・中級向けの本 ・逆引き本 ・オブジェクト指向の入門本 ・オブジェクト指向の中級向けの本 ・ネットワークの入門本 ・ネットワークの中級本 ・サーバ関連の本 ・漢字コードの本 ・アルゴリズムの本 ・コンピュータに関する本 ・iOSに関する本 ・Unixに関する本 簡単なコードを徹底的に解説ってのは、あまり売れない構成の本になるような気がします。 たぶん、徹底的に解説となれば、狭い範囲の解説になってしまい、上に並べたように何冊も購入することになると思います。 それから、ズブの素人が簡単にアプリが作れるってのは、objective-c以外の言語を使っての開発だと思います。 たとえば、カッターやヤスリに接着剤、塗装のための様々な道具が必要なプラモデルがobjective-cだとすれば、接着剤も入らず、はめ込むだけで完成する完全塗装済みガンプラが、簡単にアプリが作れる言語に当たると思います。 前者のプラモデルですばらしい作品を仕上げるには、数年以上の修行が必要だと思いますが、後者は、子供でも、すぐに立派な完成モデルに仕上げることができますが、そういうような言語を使うのだと推測しています。 ちなみに、しっかりとコンピュータを理解し、言語についても理解を深めたいとお考えなら、JavaやPythonなどの言語ではなく、C言語とアセンブラを学習することをお勧めします。(これは、私ではなく、著名なソフトハウス経営者の意見です) そして、C言語の完全理解には、アセンブラの考え方の理解が必須です。 C言語と、そのソースから生成されるアセンブラを対比して解説した「Cコンパニオン/アレン・ホルブ著」とか、「エキスパートCプログラミング-知られざるCの深層/アスキーブックス」などがお勧めです。

noname#213637
質問者

お礼

すみません、書き方がはっきりしていませんでしたが、 現在の学校ではobjective-cを学んでおります。 c言語とアセンブラですね。参考にさせて頂きます。 ありがとうございました!

その他の回答 (2)

  • Su_Maru
  • ベストアンサー率0% (0/1)
回答No.2

Objective-Cを最初からやるのはとても根性がいると思います! なんていったってC言語系はとってもとっつきにくいですからね まずプログラミングというものを大雑把に知るためにもPythonという言語を習得するのをオススメしますよ!簡単尚パワフル、Javaより入りやすい気がします それからCをやってObjective-Cをやるのが時間的にも理解度としても損はないと思いますよ!

noname#213637
質問者

お礼

C系はプログラミングの習い始めには不向きなのですか! 実は現在、3ヶ月で簡単なiPhoneアプリを作れるようになるという 職業訓練校に通っているのです。中々着いていけてませんが… 今までにも、ズブの素人からiPhoneアプリを作れるようになった 人が大勢いるのという話なのですが、実態はそう上手くは行って いないということなのでしょうか?

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

>>objective-cを勉強しているのですが、クラスの意味や コードの構造が中々理解できません。 理解できなくて当然だと思います。 私は、C言語を仕事で10年くらい使っていましたけど、クラスやデザインパターンなど、オブジェクト指向関係の専門書を5,6冊購入して、半年以上勉強しました。それでも、十分理解できたとはいえません。 Objective-CはC++言語とは違い、もうすこし理解しやすいかもしれませんが、理解できるまでに多くの時間がかかるのはしかたないと思います。 例えば、学生時代に数学が苦手だった方が、「微分・積分を超短期間で理解できるようになりたい!!」と願うのと同じようなものだと思いますので、腰をすえてがんばって学習するしかないと思います。

noname#213637
質問者

お礼

なるほど、時間がかかるのですね。 実は現在、3ヶ月で簡単なiPhoneアプリを作れるようになるという 職業訓練校に通っているのです。中々着いていけてませんが… まずは、簡単なコードを基礎的な要素から徹底的に解説して くれているような書籍や本が欲しいのですが、そういったものを ご存じないでしょうか?

関連するQ&A

  • Swift,Objective-Cのselecto

    現在、Swiftでアプリを作成しているプログラミング初心者です。selectorについて、サルでも解るレベルで、具体例を交えて教えて頂けないでしょうか。 ソースコードも是非、ご提示頂ければ助かるのですが、Objective-Cは未学習です。クラス、メソッド、引数などの基本的な意味、構文などは理解しています。

    • ベストアンサー
    • Swift
  • Objective-C習得について質問です。

    現在、情報系の専門学校に在籍しています。 ですが、私の学校は俗にいう名前だけ学校です、授業が基本的なことの繰り返しです。 授業ではJavaの文法の基礎を1年以上も繰り返しているため、Javaがあまり好きではありません。 個人的に、C言語を勉強し、最近Iphoneに機種変更したこともあり、iPhoneアプリ開発に挑戦しようと、Objective-Cを習得したいと考えています。 C言語→Objective-Cの流れで大丈夫でしょうか? それとも、C言語→C++→Objective-Cの流れの方がわかりやすいのでしょうか? また、持っているパソコンがWindowsなため、Macパソコン購入までの間、開発環境はUbuntuを仮想環境に入れてやろうと思っていますが、Eclipseのようなソフトはありますか? よろしくお願いします。

  • objective-Cについてご相談があります。

    現在objective-cを勉強中なのですが、 UIGraphicsGetImageFromCurrentImageContext() の末尾にある()の意味を教えて頂けないでしょうか。 以上、どなたか何卒宜しくお願い致します。

  • Objective-cのextendedって,,?

    現在iPhone用アプリケーション開発の為、Objective-cの学習をしています。 その中で、UIAlertViewクラスのオブジェクトにテキストボックスを追加する方法を探していまして、見つけたソースコードの中のヘッダーファイルに @interface UIAlertView (extended) という記述がありました。 この(extended)とはどういう意味なのでしょうか? 分かる方居ましたら教えていただけるとうれしいです。

  • objective-cにはCのような関数はない?

    c言語とobjective-cを並行して勉強しています。 c言語では機能をまとめるために関数を定義できますよね。 ----- void display(int a){ printf("%d" , a); } int main(void){ display(10); } --- これでdisplayという関数に10という引数を渡して表示させることができますよね? objective-cの場合は例えば以下のように書くことがわかり、コンパイルも通りました。 - (void)display{ NSlog(@" TEST "); } しかし・・・・呼び出すことができませんね。。。 objective-cの場合は[ インスタンス メソッド名 ]; のような呼び方なのですよね。 メソッドだけを呼び出すことはできない、ってことなのでしょうか・・・? 色々検索してみたのですが、 @implement~@endで囲んでクラスにして インスタンスを作って、メソッドを呼ぶ方法ばかりで、 上記のC言語の例のような、単純な関数定義→呼び出しの方法を見つけることができませんでした。 上記のようなC言語の例はよくあると思うのですが、 これと同じことがobjective-cで、できるともできないとも、書いてないように思います。 例えば上のc言語と同じ動作をobjective-c に移植するとどうなるのでしょうか・・・?というか、不可能、ということでしょうか・・・?

  • 効率よくアプリケーションを作るには

    趣味でプログラミングを勉強しています。(現在は主にC#) 文法やオブジェクト指向の基本的な考え方等は理解したつもりです。 しかしながら、どのクラスがどのクラスのインスタンスを持つべきなのか、と言ったような構造的な設計をするにはどうしたら良いか分からず悩んでいます。 特にGUIアプリケーションで、ある程度複雑なものを作ろうとすると、すぐにスパゲティコードになってしまいます。 そこで、参考になるようなWebサイト・本などがあれば、教示いただけたらなと思い質問させてもらいました。 その他今までに使ったことのある言語は ・C ・C++ ・Java ・VB などです。 よろしくお願いします。

  • PHPとObjective-Cでハッシュが違う結果

    Objective-Cでハッシュ値を生成し、PHPに送って、 PHP側でもハッシュ値を生成し、この2つを比較したいと思っています。 PHPでは、以下の関数でSHA256が取得できることがわかりました。 hash_hmac('sha256', $text, false) Objective-Cは自分で実装する必要があるようなので、以下のページのコードを使わせてもらいました。 http://zak-za-k.blogspot.jp/2011/09/objective-csha256.html この2つの関数それぞれで、同じ文字列を使ってSHA256のハッシュ値を出したのですが、 結果が違ってしまいます。 2つの関数で同じ結果を得られるようにするにはどうすればよいでしょうか。 参考にした上記URLのコードの内容は、ほとんど理解できていません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Objective-Cの条件分岐についてお伺いしたい事があります。

    Objective-Cの条件分岐についてお伺いしたい事があります。 ボタンの名前をcurrentTitleプロパティで取得し、その名前を元に条件分岐処理を行いたく、下記の通りコードを書いているのですが、真の条件に適合しません。 コードの書き方が悪いんでしょうか?最近Objective-Cの勉強を始めたばかりで右も左も分からない状態です。どなたかご教授いただけないでしょうか? -(action) action: (id)sender; { UIButton* button = sender NSString * Str = button.currentTitle; if (str == @"ボタンの名前") {   条件が真の場合の処理 } }

  • Objective-Cのプログラム式について、お伺い致します。

    Objective-Cのプログラム式について、お伺い致します。 iPhoneのアプリを作っているのですが,全く同じアプリでも若干式が違うのが理解できません。以下の意味を教えていただけると幸いです。 (1) - (void)calc (2) - (void)awakeFromNib (3) [self calc]; (4) float (5) sender

    • ベストアンサー
    • Mac
  • C言語の勉強方

    基本情報の試験の言語がCで受験しなくてはいけないんですが、独学で0からのスタートなので難しくて参ってます。2週間かけて、基礎の部分を一通り勉強して、前半部分は理解できたんですが、後半の 構造体、ポインタ:なんとなく理解 ユーザ関数:理解不能 といった感じなので、応用問題とかになると全然分からなくて参ってます。 C言語の勉強の仕方や初心者でも分かりやすく理解できる参考書などは無いでしょうか??教えて下さい。 1週間シリーズがいいと聞いたんですが、あれはどうなんでしょうか??

専門家に質問してみよう