簡體   English   中英

從類方法調用實例方法不起作用

[英]Doesn't work to call instance method from class method

我正在嘗試從Swift中的類方法調用實例方法,但是在“ someMethod()”調用中,我不斷收到錯誤消息“調用中參數#1缺少參數”。

你知道為什么嗎?

這是代碼:

class ViewController: UIViewController {

    class func updateData() {
        someMethod()
    }

    func someMethod() {
       NSLog("someMethod")
    }

}

updateData被聲明為類方法(即靜態方法),並且在類類型的上下文中而不是在類實例的上下文中執行。 另一方面, someMethod是實例方法。

除非提供實例,否則無法從靜態方法執行實例方法。

在不了解應用程序邏輯的情況下,很難弄清楚應如何解決該問題。 一些可能的解決方案:

  1. 通過從其簽名中刪除class ,使uploadData成為實例方法:

     func updateData() { ... 
  2. 使someMethod成為靜態方法:

     class func someMethod() { ... 

暫無
暫無

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

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