通常,Bundle从实例方法加载一个类非常容易:
class SomeClass
func foo() {
let bundle = Bundle(for: type(of: self))
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我们采用静态方法呢?
class SomeClass
static func foo() {
let bundle = Bundle(for: ???)
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多类似的东西SomeClass.type,但还没弄明白.
此外,我希望使用其他初始化程序之一,如URL或标识符,因为它很脆弱.
谢谢.
您可以使用ClassName.self.
class SomeClass
static func foo() {
let bundle = Bundle(for: SomeClass.self)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |