উত্তর:
কখনও ব্যবহার করা হয়নি, তবে আমি মনে করি এটি হওয়া উচিত:
সুইফট <= 2.x
NSBundle(forClass: self.dynamicType)
সুইফট 3.x
Bundle(for: type(of: self))
init?(identifier: String)সনাক্তকারী আপনার টার্গেটের বান্ডিল আইডি কোথায় তা ব্যবহার করার বিষয়টি বিবেচনা করুন । মান ধরণের জন্য আরেকটি সমাধান হ'ল আপনার মান ধরণের ভিতরে খালি শ্রেণি ঘোষণা করা। পরবর্তী সমাধানের উদাহরণ: Bundle(for: Foo.Bar.self)যেখানে Foo- আপনার কাঠামো Bar- কিছু অভ্যন্তর শ্রেণি।
type(of: self)ফিরে আসবে ClassName.Typeএবং কলিং Bundle(for:)যে আয় প্রধান বান্ডিল
সুইফট 3:
Bundle(for: type(of: self))
init?(identifier: String)সনাক্তকারী আপনার টার্গেটের বান্ডিল আইডি কোথায় তা ব্যবহার করার বিষয়টি বিবেচনা করুন । আপনি যদি বান্ডেল আইডি হার্ডকোড করতে না চান তবে Bundle(for: Foo.Bar.self)কোথায় Foo- আপনার স্ট্রাক্ট Bar- কিছু অভ্যন্তর শ্রেণি ব্যবহার করুন।
let bundle = NSBundle(forClass:object_getClass(self))
সুইফট 5
Bundle(for: Self.self)
আপনি যদি একটি ক্লাসে কাজ করে থাকেন তখন
Bundle(for: type(of: self))
কখনও কখনও আপনি স্ট্রাক্টে কাজ করতে পারেন, তারপরে আপনার বান্ডিলের কোনও ক্লাস ব্যবহার করা দরকার
Bundle(for: AnyClassInTheBundle.self)
ক্লাসের ডায়নামিক টাইপের জন্য 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);
সুইফট 3.0.০ এ আপনি ব্যবহার করতে পারেন:
func kZWGetBundle() -> Bundle{
return Bundle(for: AnyClass.self as! AnyClass)
}