objective-c - 求教iOS开发知识
黄舟
黄舟 2017-04-17 17:30:24
0
4
408

做iPhone/iPad需要哪些知识??

洒家只知道要会 Objective-c,
熟悉 iOS SDK
工具是 xcode

基础的 数据结构、算法、多线程、Socket、XML ,这些应该也是要掌握的,
还有些啥?

或者,能不能细化一下Objective-c的重要技术点?谢谢。。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(4)
刘奇

途中で iOS 開発に切り替えた開発者として、私の 2 か月の開発経験から判断すると、Objective-C はまったく難しくありません。私が開発したプログラムは次のような変更を経ました。また、この機会に得たものと損失したものをまとめてみました

最も遅れた Hello World

xcode から新しいプロジェクトを作成し、ウィンドウ エディター (Interface Builder、略して IB) を開き、UILabel コンポーネントをドラッグして「Hello World」と書き込めば完了です。

コードの構成を理解する

その名前は「objective-c」ですが、これまで私が書いた C 言語とはまったく異なるようで、初心者を混乱させる暗黙のルールが無数にあります。

  1. なぜ #import の代わりに #include を使用するのですか?
  2. @property とは何ですか? (strong, nonatomic) で属性を宣言した後に @interface を追加する必要があるのはなぜですか? @property と何の関係がありますか? @synthesize
この段階では、基本的に多くの初心者向けの質問に焦点を当てます。幸いなことに、これらの質問に対する答えはオンラインで簡単に見つけることができ、他の言語の基礎があれば、これらの文法を理解するのは簡単です。

この段階で私が書いたコードは基本的にひどいものです。コードはすべてコントローラーに配置されています。1 つは私が怠け者だからで、もう 1 つは私がObjective-C 開発の世界でのコーディング スタイルを習得していないためです。したがって、単純にスタイルを使用しないでください。コードには

または IBOutlet が含まれている可能性があります。 IBAction

しかし、コードが機能する限り、それだけの価値はあります。

本質を初めて垣間見る

cocoa フレームワークの本質の 1 つは

で、中国語では「デリゲート」モードとして翻訳されます (私自身の直訳は「エージェント」モードです)。このモデルは Cocoa のオリジナルではありませんが、Cocoa の最良の用途の 1 つでもあります。 delegate モードは、delegatecontroller の間の相互作用の問題を解決します。 view

コードを書いていると、

さえあれば、素晴らしいことがたくさん起こることによく気づきます。さらに、iOS で言及されているこれらの基本コンポーネントは、現時点では対話要件を満たすことができないことがわかり、その基本コンポーネントの一部の拡張を開始する必要がある場合があります。 seDelegate

その基本コンポーネントを拡張するのは非常に簡単で、多くのインターフェイスが私たちのために SDK に予約されています

。通常、この時点で、以前に書いた醜いコードを見ると、リファクタリングを開始せずにはいられないので、先に進んでリファクタリングしてください。 override

使いやすい

実際、

世界の隠されたルールのいくつかを理解した後、その API をマスターするだけでなく、基本的には通常のツール言語になりました。 objective-c

ただし、ARC (自動参照カウント機能) は xcode 4 以降で導入され、デフォルトでオンになっていることに注意してください。ご迷惑をおかけする場合がございます。多くの初心者は、システムにメモリを管理させるとメモリが無駄になるのではないかと心配します。実際、その原理を理解すると、その実装は非常に簡単で、誰もオブジェクトを参照しない場合には、システムが自動的にそのオブジェクトを削除することがわかります。 。システムに任せることでもメモリ断片化の発生を回避できますが、自分で実装したメッセージキューなど、メモリ領域のメモリの読み書きを頻繁に行う必要がある場合は、release を介して自分で実装することをお勧めします。 struct

しかし、そのような構造体を定義した場合

リーリー

コンパイラは、objective-c オブジェクトを struct で参照できないと容赦なく通知します。なぜですか? ARC は構造体の参照カウントを制御できないためです。しかし、構造体のオブジェクトを参照する必要がある場合はどうすればよいでしょうか?

を使用してポインター void * を保存できます。 リーリー

しかし、上記のコードでは、

は単なる一時変数ですが、前述したように、これによって [NSString stringWithString:@"Hello"] の参照カウントが発生しません。 ARC

つまり、ARC は、このコードが実行された後、何も起こらなければ、この変数は誰も参照していないと判断し、このメモリはシステムによって再利用されます。このポインタが指すメモリを再度呼び出すと、

エラーのみが発生します。 EXC_BAD_ACCESS

解決策は実際には非常に簡単です。たとえば、現在の

内の変数をこの文字列を指すように設定して、解放されないようにすることができます。 @interface リーリー

はい、たくさん話して少しわかりにくくなりましたが、最後に ARC について文句を言いました。最終的な結論としては、始めるのは早いですが、しっかり習得するには独学も必要です。

いいねを押す +0
阿神

最初のレベル: object-c 構文は 3 日でうまく練習できます
2 番目のレイヤー: 移民労働者 UI: UIView、UILabel、UIImageView、UITableView、UINavigationController、および UITabBarViewController の使用。資格にもよりますが、実習には1~2か月かかります。
第3層:各機能のAPI:ネットワークリクエスト、永続化、アドレス帳、GPS、メールAPI、各種API。半年
4 番目のレイヤー: UI の進歩: 回転画面、コア アニメーション、カスタム描画ビュー、描画コンテキストなど。半年
レベル 5: 高度なスキル: ランタイム、cocos、OpenGLES など。練習はまだ完了しておらず、必要な日付はまだ不明です。

いいねを押す +0
PHPzhong

提案 1、体系的に勉強しないでください
提案 2、Hello World を書くことから始めて、アプリを 1 つずつ書いて、何を使うかを学びましょう
提案 3、市販されている本はどれも信頼できるものではありません
提案4、公式ドキュメントとサンプルコードを読む

いいねを押す +0
黄舟

写真でわかる!記事をお読みください: http://www.henishuo.com/ios-study-route/

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!