通常,从实例方法为类加载Bundle
非常容易:
class SomeClass
func foo() {
let bundle = Bundle(for: type(of: self))
// ...
}
}
但是,如果我们采用静态方法呢?
class SomeClass
static func foo() {
let bundle = Bundle(for: ???)
}
}
我尝试了很多像SomeClass.type
等的东西,但还没有想到它。
另外,我希望使用其他初始化程序之一,例如URL或标识符,因为它很脆弱。
感谢。
答案 0 :(得分:7)
您可以使用ClassName.self。
class SomeClass
static func foo() {
let bundle = Bundle(for: SomeClass.self)
}
}
答案 1 :(得分:0)
雨燕5
static func foo() {
let bundle = Bundle(for: Self.self)
}