我有一個Objective-C的方法是這樣的:從另一個類叫做類函數
-(void)findFiles{
}
據工作fine.But我需要調用在斯威夫特class.I這種方法做了:
var instanceOfCustomObject:DriveListTableViewController = DriveListTableViewController()
,現在我可以用這樣的方法:
instanceOfCustomObject.find()
但它只能在,如果我把它放到viewDidLoad中。 有沒有一種方法可以通過單擊按鈕來調用它? 我已創建按鈕
let button:UIButton = UIButton(frame: CGRect(x: 100, y: 400, width: 100, height: 50))
button.backgroundColor = .black
button.setTitle("Button", for: .normal)
button.addTarget(self, action:#selector(self.buttonClicked), for: .touchUpInside)
self.view.addSubview(button)
func buttonClicked() {
print("Button Clicked")
instanceOfCustomObject.findFiles()
}
但如果我把它放到viewDidLoad中它仍然只適用。請幫幫我!是否有任何其他方式使它從Objective-C文件中調用Swift文件?
你是什麼意思「它只能運作...」 - 澄清「作品」。您正在創建'DriveListTableViewController'的實例,但顯然不會以任何方式顯示它,因此您可能正在調用該方法,但由於未顯示視圖控制器,因此它沒有任何結果。 – Paulw11
你可以用你需要的方法創建一個靜態工具,爲什麼你只是使用一個方法實例化一個ViewController?如果您打算向用戶展示或顯示視圖控制器,則應僅實例化視圖控制器。 –
@ Paulw11I我的意思是如果我把「instanceOfCustomObject.find()」放入viewDidLoad函數只調用一次。但我需要用按鈕多次調用該函數。我該如何展示它?這在swift文件中被調用。 - (void)findFiles {0}位於Objective-C文件中...我怎麼稱呼它呢? –