无法在Swift 4中使用NSClassFromString

时间:2017-09-25 13:38:06

标签: swift swift4

我需要从它的类名实例化一个类。我在Swift 3中运行良好,但在转换为Swift 4之后,我无法继续使用它。我尝试将NSClassFromString(_:)用于"MyApp.MyClass""_TtC5MyApp7MyClass",但没有成功。我也尝试使用Bundle.main.classNamed(_:)函数。我甚至在@objc(MyBaseClass)的类声明之上添加了MyClass以将其暴露给Objective-C。 MyClass来自MyBaseClass

我无法弄清楚为什么这不起作用,请帮忙。提前谢谢!

1 个答案:

答案 0 :(得分:0)

就我而言,我发现模名的名称与我的应用名称不同。

我的情况不同之处在于应用程序的名称包含" - "并且在Modulo的名称中它取代了" _"

实施例: 应用程序的名称="我的应用程序" 模数名称=" My_App"

因此,此代码无法正常工作

`filename = 'links.csv'
 df = pd.read_csv(filename)
 imdbcode = df['link']


 for index, row in df.iterrows():
    url = ('https://www.imdb.com/title/' + imdbcode + '/reviews?ref_=tt_urv')
    uClient = uReq(url)
    content = uClient.read()
    uClient.close()
    page_soup = soup(content, "html.parser")
    page_soup = soup(content, "lxml-xml")
    page = requests.get(url)
    stuff2 = html.fromstring(page.content)
    comment = stuff2.xpath('//div[@id="tn15content"]/p/text()')[0]
    title = stuff2.xpath('//div[@id="tn15title"]/h1/a/text()')`

现在我把模数名称硬编码。如果我找到更好的方法,将改善这个答案 您可以在storybord中看到您的Modulo名称,例如