[英]Why subclass doesn't work in framework, but extension does in Swift?
我已經在Swift 3中創建了一個自定義框架,具有擴展名(用於String,UIColors等)以及UITableView和UIView的子類。
問題是,當我嘗試在另一個項目中使用子類時,它不起作用並崩潰。 擴展的功能可以完美工作...子類不會出現在情節提要中的“可用類”列表中。 (我的班級不在“自定義班級”列表中,“模塊”部分為空)
在我的框架中,我的子類是公共的。 我也嘗試使用open,但遇到了同樣的問題。
希望它足夠清楚,任何人都可以幫助我:)
編輯:重現該問題:
創建一個從UIView繼承的Custom類,如下所示:
public class CustomView: UIView { public var name: String = "MyName" public func sayMyName() { print("\\(self.name)") } }
創建你的框架
創建一個新項目,然后導入您的框架。
嘗試在情節提要中實例化CustomView。
首先,您需要確保您的框架目標可用於您的App項目。 兩種選擇:
現在您已將其添加到Xcode的應用程序項目中,您需要執行以下操作:
如果要使用代碼訪問open
類,請使用以下語法:
import [framework]
如果要在情節提要中訪問UIKit子類,請添加其超類控件,然后轉到Identity Inspector並(1)選擇您的框架作為Module
並選擇子類作為Class
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.