This question already has an answer here:
Loading from mainBundle
(1个答案)
2年前关闭。
我在教程中找到了这段代码,并对这两行的内容感到困惑:
我知道我们有该应用程序的主要捆绑包,但是为什么要为称为
(1个答案)
2年前关闭。
public func dataFromFile(_ filename: String) -> Data? {
@objc class TestClass: NSObject { }
let bundle = Bundle(for: TestClass.self)
if let path = bundle.path(forResource: filename, ofType: "json") {
return (try? Data(contentsOf: URL(fileURLWithPath: path)))
}
return nil
}
我在教程中找到了这段代码,并对这两行的内容感到困惑:
@objc class TestClass: NSObject { }
let bundle = Bundle(for: TestClass.self)
我知道我们有该应用程序的主要捆绑包,但是为什么要为称为
TestClass
的目标c类创建捆绑包? 最佳答案
我知道我们有该应用程序的主捆绑包,但是为什么要为名为TestClass的目标c类创建捆绑包?
第二捆绑通常是一个框架。由于代码来自教程,因此作者可能想解释一下什么是捆绑软件以及如何访问它们。
拥有一个类不需要这样做,因为运行时环境会搜索正确的类包。但是,如果您想加载其他资源(视频,图像,声音等),则必须拥有自己的资源。为了获得正确的捆绑软件,您可以向那里的一个班级索要捆绑软件。
关于ios - 从Objective C类加载捆绑软件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45808435/
10-13 01:56