iOS開發——錯誤總結篇&開發中常見錯誤和警告總結(十八)

來源:互聯網
上載者:User

標籤:

開發中常見錯誤和警告總結(十八)

 Xib/StoryBoard支援

 

Swift項目在使用Xib/StoryBoard時,會遇到兩種不同的問題

  • Xib:不載入視圖內容

  • Storyboard:找不到類檔案

  Xib不載入視圖內容

在建立UIViewController時,預設選中Xib檔案,在Xib與類檔案名稱一致時,可通過以下代碼執行個體化:

let controller = ILViewController()

 

運行,介面上空無一物,Xib沒有被載入。解決辦法,在類的前面加上@objc(類名),例如:  

import UIKit@objc(ILViewController)class ILViewController: UIViewController {}

Tips:

StoryBoard中建立的UIViewController,不需要@objc(類名)也能夠保持相容 

 Storyboard找不到類檔案

Swift語言引入了Module概念,在通過關鍵字@objc(類名)做轉換的時候,由於Storboard沒有及時更新Module屬性,會導致如下兩種類型錯誤:

  用@objc(類名)標記的Swift類或者Objective-c類可能出現錯誤:

2015-06-02 11:27:42.626 ILSwift[2431:379047] Unknown class _TtC7ILSwift33ILNotFindSwiftTagByObjcController in Interface Builder file.

解決辦法,按,選中Module中的空白,直接斷行符號

 

  無@objc(類名)標記的Swift類

 

 

2015-06-02 11:36:29.788 ILSwift[2719:417490] Unknown class ILNotFindSwiftController in Interface Builder file.

 

 

解決辦法,按,選擇正確的Module

 

3.產生上面錯誤的原因: 在設定好Storyboard後,直接在類檔案中,添加或者刪除@objc(類名)關鍵字,導致Storyboard中 Module屬性沒有自動更新,所以一個更通用的解決辦法是,讓Storyboard自動更新Module,如下:

  錯誤類比Demo下載

為了能夠讓大家更清楚的瞭解解決流程,將上面的錯誤進行了類比,想動手嘗試解決以上問題的同學可以直接下載demo

 

iOS開發——錯誤總結篇&開發中常見錯誤和警告總結(十八)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.