답변:
사용한 적이 없지만 다음과 같아야합니다.
스위프트 <= 2.x
NSBundle(forClass: self.dynamicType)
스위프트 3.x
Bundle(for: type(of: self))
init?(identifier: String)
identifier가 대상의 번들 ID 인 where를 사용 하십시오. 값 유형에 대한 또 다른 솔루션은 값 유형 내에 빈 클래스를 선언하는 것입니다. 후자 솔루션의 예 : Bundle(for: Foo.Bar.self)
어디 Foo
- 당신의 구조체, Bar
- 일부 내부 클래스.
type(of: self)
반환 ClassName.Type
및 호출 Bundle(for:)
그에게 돌아갑니다 주요 번들
스위프트 3 :
Bundle(for: type(of: self))
init?(identifier: String)
identifier가 대상의 번들 ID 인 where를 사용 하십시오. 당신은 번들 ID, 사용 하드 코드하지 않으려면 당신의 구조체, - - 일부 내부 클래스를. Bundle(for: Foo.Bar.self)
Foo
Bar
클래스의 dynamicType에 대한 xib로드
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: "CellForAlert", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil).first as! UIView
view.frame = bounds
view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
self.addSubview(view);
Swift 3.0에서는 다음을 사용할 수 있습니다.
func kZWGetBundle() -> Bundle{
return Bundle(for: AnyClass.self as! AnyClass)
}