如何快速从viewController类的静态方法中调用非静态方法?

你好,我想知道如何从def read_sql(self): d1 = pd.read_csv('filename.csv') d2 = pd.dataframe(columns=[['ID','written_query','short_desc']]) d2['ID'] = d1['analysis_id'] d2['written_query'] = d1['query_syntax'] d2['description'] = d1['short_desc'] d2 = d2.to_json() conn = pyodbc.connet("driver,server,database,trusted_connection") keep_fails = [] for query in d1['query_syntax']: try: df = pd.read_sql(query,conn) except: keep_fails.append(query) return(df,keep_fails) 类的静态方法中调用非静态方法。

我所做的是:

UIViewController

但是为了在 public static func cambiarPosicion(posicion: Int){ var reserva : ReservaViewController = ReservaViewController() reserva.cambiarContainer(posicion: posicion) } 中调用我想要的方法,我创建了一个与您看到的相同viewController(ReservaViewController)的实例。然后,我用它来调用名为UIViewController的方法,但是该方法存在问题,错误是:

  

线程1:致命错误:在隐式展开一个可选值时意外发现nil

以及该方法中出现错误的一些代码是:

cambiarContainer

错误在第一行 我认为这个问题是因为我正在从另一个实例中调用该方法,因此我想知道如何从静态方法中调用非方法。

guxiaoke0510 回答:如何快速从viewController类的静态方法中调用非静态方法?

因为静态字段/方法(按定义)不与该类的任何单个对象/实例绑定,而非静态字段/方法始终以某种方式引用实际的对象/实例。

因此,您不能在静态方法内调用非静态方法。

,

想一想工厂。说我们有汽车课。班级是制造汽车的工厂。汽车实例是属于某人的具有特定颜色,带有许可证标签的实际汽车。

您可以告诉汽车实例将其收音机设置到给定的电台。但是,在工厂这样做是没有意义的。 (“嘿,汽车工厂,将鲍勃汽车上的收音机设置为“命中101”)。

,

如果将Storyboard或.xib文件与UIViewController一起使用,则应使用创建其Storyboard或.xib的方式来创建控制器:

带有.xib文件:

ViewController(nibName: "ViewController",bundle: nil)

使用.storyBoard:

 let storyboard = UIStoryboard(name: "storyboardName",bundle: nil)
 let controller = storyboard.instantiateViewController(withIdentifier: "ViewControllerIdentifier")
本文链接:https://www.f2er.com/3155627.html

大家都在问