UIViewControllerके लिए एक एक्सटेंशन लागू करने के लिए मुझे पता है कोई सामान्य तरीका है वहाँ, या इस कार्यों ओवरराइड करने के लिए (यहां तक कि जब वे के लिए उपलब्ध हैं UICollectionViewController और UITableViewController) की अनुमति नहीं है कि प्रयास करते समय:UIViewController एक्सटेंशन स्विफ्ट में दृश्य संबंधित कार्यों को ओवरराइड करने की अनुमति नहीं दे रहा है?
extension UIViewController{
public override func viewWillAppear(){
super.viewWillAppear()
//do some stuff
}
}
मुझे पता है कोई सामान्य तरीका है वहाँ, या इस कार्यों ओवरराइड करने के लिए (यहां तक कि जब वे के लिए उपलब्ध हैं UICollectionViewController और UITableViewController) की अनुमति नहीं है कि:
- viewDidLoad
- viewWillLoad
- viewWillAppear
- viewDidAppear
किसी तरह यह करने के लिए नहीं है? मैं वहां कुछ कार्यान्वयन करना चाहता हूं और अपने ऐप पर प्रत्येक UIViewController के लिए काम करना चाहता हूं ... सभी एक ही स्थान पर।
कृपया ध्यान दें कि मैं एक नया वर्ग उपवर्गीकरण UIViewController बनाने के लिए नहीं करना चाहते हैं, उन तरीकों अधिभावी और करने के लिए अपने नियंत्रक बनाने यह विस्तार। यह स्पष्ट और सरल समाधान है, लेकिन यह मैं संतुष्ट नहीं करता कि मैं क्या करने की कोशिश कर रहा हूं।
मैं XCode में तेजी से 1.2 उपयोग कर रहा हूँ 6,3
क्या आप थोड़ा _why_ समझा सकते हैं कि आप ऐसा करना चाहते हैं? मुझे लगता है कि मेरा मतलब क्या है, क्योंकि 'viewDidLoad' आदि मौजूद है, और आप उन्हें ओवरराइड करने के लिए बिल्कुल मौजूद हैं, और चूंकि एक सामान्य रूप से _does_ उन्हें ओवरराइड करता है (क्योंकि यह वही है जो वे हैं), आप क्या चाहते हैं _more_? – matt
मैं वहां कुछ सामान लेना चाहता हूं, और अपने पदानुक्रम पर प्रत्येक UIViewController के लिए आगे बढ़ना चाहता हूं। आइए कहें, उदाहरण के लिए, यदि मैं UIViewController प्रस्तुत करता हूं तो कनेक्टिविटी होने पर मैं जांचना चाहूंगा। UIViewCollectionController के लिए यह संभव है, तो .. UIViewController के लिए क्यों नहीं? –
"उदाहरण के लिए, यदि मैं एक UIViewController प्रस्तुत करता हूं तो कनेक्टिविटी होने पर मैं जांचना चाहता हूं" मुझे थोड़ा और दबाएं।आपको ऐसा करने की ज़रूरत क्यों है? क्या यह जांचने के लिए और अधिक समझदारी नहीं होगी कि क्या आपने हर बार कनेक्टिविटी को कनेक्ट किया है? – matt