你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> Xcode8

Xcode8

編輯:IOS開發基礎

前言

今天把公司項目的swift代碼升級到Swift3,遇到了不少坑

現在總算能跑起來了..還有很多坑要踩...
這是改之前的慘狀:

1298596-ae8faf80908b7732.jpeg

發現一條寫一條,不定時更新

正題

選了Later之後還想調用系統的自動升級[Edit > Convert > To Current Swift Syntax…]

1298596-15ce7ac6d6f095b2.png

  • 之前一個控件layoutIfNeed 會帶動它所約束的控件一起layout,現在只會單獨計算,想達到之前的效果只能整個父級控件調用layoutIfNeed方法了

  • swift取oc得NSDate回自動變成Data類型,一些操作NSDate的第三方庫(如:DateTools)會崩潰

  • block的形參要加 " _ " 方法的第一個參數前也要加形參名

  • flatmap和map會返回一個非數組的類型,需要重新用一個返回[T]的方法重寫一遍..語法都沒有變,改了就好了

    控制台會輸出一大堆網絡日志,需要再Run裡加一個OS_ACTIVITY_MODE = disable stackoverflow:http://stackoverflow.com/questions/37800790/hide-strange-unwanted-xcode-8-logs/39461256#39461256


  • 1298596-4b9caaf56d03d31a.png

  • Swift調用OC對象屬性都自帶Optional了,使用的時候要拆包

  • 升級Xcode之後想支持以前的插件可以在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins路徑下添加你現在的Xcode的UUID,查看你Xcode的UUID/Applications/Xcode.app/Contents

  • 上面方法還不行的看這個http://vongloo.me/2016/09/10/Make-Your-Xcode8-Great-Again/?utm_source=tuicool&utm_medium=referral

參考文章

  • 如何向 Swift 3.0 進行數據遷移:http://gold.xitu.io/entry/57a3044e2e958a0066850a48

  • 兼容iOS 10 資料整理筆記:http://www.jianshu.com/p/0cc7aad638d9



文章轉自 軒轅小羽的簡書
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved