簡體   English   中英

Swift Package 經理:如何加載 UIViewController + xib 對,就像在常規 ZA3B5EBD8A1E05EBF43A1Z72E 項目中一樣?

[英]Swift Package Manager: How to load a UIViewController + xib pair like in a regular Xcode project?

In a regular iOS Xcode project, when you create a Cocoa touch file ( MyVC.swift ), you can also create an associated xib ( MyVC.xib ). 在controller視圖中調用super.init(nibName: nil, bundle: nil) ,就可以使用outlets了。

在這種情況下,我嘗試將項目中的代碼移植到 Swift Package 中,這將在其他項目中重復使用。 在 Swift Package 中時,我找不到為我的視圖 controller 加載 xib 的方法。 在正確連接所有內容並調用super.init(nibName:bundle:)后,在viewDidLoad時插座仍然始終nil

這在 Swift Package 中是否可行? 如果是,如何; 如果沒有,是否有任何替代方案? 這感覺像是一個非常標准的用例。

Fwiw,我使用的是 swift-tools-version 5.3,我的平台是.iOS(.v13)


我嘗試過的各種init

  • super.init(nibName: nil, bundle: nil)
  • super.init(nibName: nil, bundle: .main)
  • super.init(nibName: "\(Self.self)", bundle: .main)
  • super.init(nibName: nil, bundle: .init(for: Self.self))
  • super.init(nibName: "\(Self.self)", bundle: .init(for: Self.self))

經過數小時的研究無濟於事,我發現了以下Swift 論壇提案,這使我得到了答案:

super.init(nibName: nil, bundle: .module)

我一直在尋找“模塊”包:它“返回與當前 Swift 模塊關聯的資源包。”

使用后,我的 xibs/Storyboards 加載正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM