搜尋

首頁  >  問答  >  主體

objective-c - 使用swift加入之前的oc項目,求經驗,求坑分享?

項目配比

ios 2人,android 3人!

背景

之前的IOS端專案是使用OC開發的,已經到了2.0版本了,本人現在是做android客戶端,但現在想加速ios的開發進度,所以,我決定使用swift參與到ios專案中。

遇到的問題

因為沒有類似的經驗,所以想請教下過來人,如何用swift殺進現有的oc項目。特別是UI這塊的融入,以及OC之前封裝的一些工具的呼叫。

过去多啦不再A梦过去多啦不再A梦2761 天前602

全部回覆(1)我來回復

  • 大家讲道理

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

    • swift優秀的類型偵測,剛開始可能會讓你很不適應,各種麻煩的判斷和處理!但適應以後,你會發現,你從未對自己寫的程式如此放心

    • 發布包回比之前至少增加6M的大小,因為需要將swift運行時庫打包進去

    • 只需要增加一個頭文件,之前所有objective-c寫的東西都可以放心地直接使用

    • 一旦你開始使用之前objective-c寫的東西,你很有可能想用swift重寫它,因為objective-c缺少很多類型校驗能力,例如:swift這邊呼叫objectForKey:方法通常會回傳AnyObject,你就需要對此做型別轉換

    • swift會強迫你考慮所有邏輯上明顯是錯誤的情況,這樣可以降低運行時出錯的幾率;但是也因此,你會經常看到一些「莫名其妙」的報錯,仔細閱讀錯誤提示,你會發現你真的是錯了

    • 之前objective-c極大部分API都是相同的,蘋果只是使用swift做了一層皮,內部還是調用objective-c,Fundation的實現在這裡: https://github.com/apple/swift- corelibs-foundation

    • String != NSString

    • 指標變數用起來會很麻煩
      ....

    整體來說,swift並沒有提高開發的效率(也許開發效率更慢了),但是,當你的應用程式上線以後,你會發現,你從未對自己寫的程式碼如此放心過,因為通過了編譯的程式碼,意味著它已經避免了大部分的錯誤。混編會讓專案變得複雜,如果是團隊協作,使用swift之前,應該讓整個團隊的所有人都知道這是怎麼回事。

    錯誤指出請指出:)

    回覆
    0
  • 取消回覆