আর একটি দুর্দান্ত সমাধান হ'ল আপনার নতুন ইনিশিয়ালাইজারটিকে convenience
ইনিশিয়ালাইজার হিসাবে নিম্নরূপে ঘোষণা করা:
convenience init( objectId : NSManagedObjectID ) {
self.init()
}
আপনি যদি আপনার সাবক্লাসে কোনও মনোনীত আরম্ভকারী ঘোষণা না করে থাকেন তবে সেগুলি স্বয়ংক্রিয়ভাবে উত্তরাধিকার সূত্রে প্রাপ্ত হয় এবং আপনি self.init()
আপনার সুবিধার্থ প্রাথমিকের মধ্যে ব্যবহার করতে সক্ষম হন ।
UIViewController ক্ষেত্রে ডিফল্ট Init পদ্ধতি ডাকব init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!)
সঙ্গে nil
উভয় আর্গুমেন্টগুলি (UIViewController উপর কমান্ড ক্লিক করুন আপনি যে তথ্য দিতে হবে) জন্য।
টিএল; টিআর : আপনি যদি প্রোগ্রামটিমেটিকভাবে UIViewController
এখানে কাজ করতে পছন্দ করেন তবে একটি সম্পূর্ণ কার্যকারী উদাহরণ যা একটি কাস্টম আর্গুমেন্ট সহ একটি নতুন আরম্ভকারী যুক্ত করে:
class MyCustomViewController: UIViewController {
var myString: String = ""
convenience init( myString: String ) {
self.init()
self.myString = myString
}
}