検索

ホームページ  >  に質問  >  本文

objective-c - 使用swift加入之前的oc项目,求经验,求坑分享?

项目配比

ios 2人,android 3人!

背景

之前的IOS端项目是使用OC开发的,已经到了2.0版本了,本人现在是做android客户端,但现在想加速ios的开发进度,所以,我决定使用swift参与到ios项目中。

遇到的问题

因为没有过类似的经验,所以想请教下过来人,如何用swift杀入现有的oc项目。特别是UI这块的融入,以及OC之前封装的一些工具的调用。

过去多啦不再A梦过去多啦不再A梦2761日前597

全員に返信(1)返信します

  • 大家讲道理

    大家讲道理2017-04-28 09:07:48

    • Swift の優れた型検出は、最初は不快に感じるかもしれませんが、さまざまな判断や処理が面倒になります。しかし、慣れてくると、自分が書いたプログラムにこれほど自信を持ったことはなかったことがわかるでしょう

    • Swift ランタイム ライブラリをパッケージ化する必要があるため、リリース パッケージは以前より少なくとも 6M 大きくなります6M的大小,因为需要将swift运行时库打包进去

    • 只需要增加一个头文件,之前所有objective-c写的东西都可以放心地直接使用

    • 一旦你开始使用之前objective-c写的东西,你很有可能想用swift重写它,因为objective-c缺少很多类型校验能力,比如:swift这边调用objectForKey:

    • 必要なのはヘッダー ファイルを追加するだけで、以前に object-c で記述したものはすべて安心して直接使用できます

    • 一度、objective-c で書かれたものを使い始めると、おそらくそれを Swift で書き直したくなるでしょう。objective-c には次のような型チェック機能があまりないからです。 Swift は objectForKey:メソッドは通常 AnyObject を返すため、型変換を行う必要があります

    • Swift では、論理的に明らかな間違った状況をすべて考慮するよう強制されるため、実行時にエラーが発生する可能性が低くなります。ただし、このため、エラー メッセージを注意深く読むと、次のようなことがわかります。それは本当に間違っています

    • Objective-C の API のほとんどは以前と同じで、Apple はスキンのレイヤーを作成するために Swift を使用しただけで、内部的には依然として Objective-C と呼ばれていました。Fundation の実装はここにあります: https://github.com/apple /swift-corelibs-foundation


    • 文字列 != NSString

    ポインタ変数は使用するのが非常に面倒な場合があります

    ....🎜🎜 🎜 🎜 全体として、Swift は開発効率を向上させていません (おそらく開発効率は遅い) が、アプリケーションがオンラインになっているときは、コンパイル コードに合格したため、自分が書いたコードにこれまでそれほど自信がなかったことがわかるでしょう。つまり、ほとんどのエラーは回避されています。ミキシングするとプロジェクトが複雑になります。チーム共同作業の場合は、Swift を使用する前にチーム全体の全員が何が起こっているかを把握しておく必要があります。 🎜 🎜間違いがあればご指摘ください:)🎜

    返事
    0
  • キャンセル返事