आगे क्या कोड की तेज बराबर है:तेज बराबर [NSBundle bundleForClass: [आत्म वर्ग]]
[NSBundle bundleForClass:[self class]]
मैं परीक्षण बंडल से लोड संसाधनों की जरूरत है (JSON डेटा)
आगे क्या कोड की तेज बराबर है:तेज बराबर [NSBundle bundleForClass: [आत्म वर्ग]]
[NSBundle bundleForClass:[self class]]
मैं परीक्षण बंडल से लोड संसाधनों की जरूरत है (JSON डेटा)
कभी उपयोग नहीं किया है, लेकिन मैं लगता है कि यह इस होना चाहिए:
स्विफ्ट < = 2.x
NSBundle(forClass: self.dynamicType)
स्विफ्ट 3.x
Bundle(for: type(of: self))
let bundle = NSBundle(forClass:object_getClass(self))
मैं व्यक्तिगत रूप से पसंद है:
let bun = NSBundle(forClass: self.classForCoder)
लौटाता है यह स्विफ्ट 3.1 (एक्सकोड 8.3) – adib
वर्ग के dynamicType
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);
के लिए xib लोड हो रहा है स्विफ्ट 3:
Bundle(for: type(of: self))
के लिए सबसे अच्छा काम करता है समाधान' मूल्य प्रकार के लिए काम नहीं करते हैं। 'Init? (पहचानकर्ता: स्ट्रिंग) का उपयोग करने पर विचार करें, जहां पहचानकर्ता आपके लक्ष्य की बंडल आईडी है। यदि आप बंडल आईडी को हार्डकोड नहीं करना चाहते हैं, तो 'बंडल (के लिए: Foo.Bar.self)' का उपयोग करें, जहां 'Foo' - आपकी संरचना,' बार '- कुछ आंतरिक वर्ग। –
स्विफ्ट 3.0 में, आप उपयोग कर सकते हैं:
func kZWGetBundle() -> Bundle{
return Bundle(for: AnyClass.self as! AnyClass)
}
यह सिर्फ दुर्घटनाग्रस्त हो जाता है –
चयनित जवाब एक UIView उपवर्ग के एक स्थिर विधि में मेरे लिए काम नहीं किया था, लेकिन मैं इस पाया:
Bundle(for: self.classForCoder)
यह तब भी काम करता है जब आप परीक्षण लक्ष्य के भीतर Bundle
प्राप्त करना चाहते हैं।
एक्सकोड के मौजूदा संस्करण में स्वत: पूर्ण कार्य करता है जैसे कि यह नहीं पता कि आप किस बारे में बात कर रहे हैं, लेकिन यह वास्तव में काम करता है। –
यानो। मुझे बस इस जगह से प्यार है! धन्यवाद! संस्करण 2.1 में –
: एनएसबंडल (forClass: self) – zwebie