我在Swift 3中創建了一個自定義框架,包含擴展(用於String,UIColors等)以及UITableView和UIView的子類。爲什麼子類不能在框架中工作,但擴展在Swift中呢?
問題是,當我嘗試在另一個項目中使用我的子類時,它不起作用並崩潰。和擴展的功能完美地工作... 子類不會出現在故事板中的「可用類」列表中。 (我的課不在自定義類的列表中,而模塊部分是空的)
在我的框架中,我的子類是公共的。我也嘗試過開放,而且我遇到了同樣的問題。
希望這是不夠明確的,任何人都可以幫我:)
編輯: 要重現該問題:
創建自定義類,從UIView的繼承這樣的:
public class CustomView: UIView { public var name: String = "MyName" public func sayMyName() { print("\(self.name)") } }
創建您的框架
創建一個新項目並導入您的框架。
嘗試在故事板中實例化CustomView。
你不能看到一個類的框架,除非你'在斯威夫特文件import'它,這就是爲什麼你的故事板無法看到它們 – Gobe
所以我不能用一個子類,只有一個'。框架「,並需要我的'.framework'和我的'CustomView.swift'? 這很奇怪,爲什麼我可以在Objective-c的'.a'中使用子類,而不是使用'.framework'在Swift中使用子類? –