ios – swiftui मध्ये सानुकूल uiapplication उपवर्ग वापरणे
आमच्याकडे एक अस्तित्वात असलेले ॲप आहे जे मुख्यतः ऑब्जेक्टिव्ह-सी आहे ज्यामध्ये थोड्या प्रमाणात पारंपारिक UIKit आधारित स्विफ्ट आहे. बहुतेक कोड विविध कार्यक्षमते किंवा बेस मॉड्यूल्स समाविष्ट असलेल्या अंतर्गत फ्रेमवर्कच्या संचामध्ये आयोजित केले जातात. ॲपला काही काळापूर्वी संपादनाद्वारे दुसऱ्या टीमकडून वारसा मिळाला होता.
आम्ही ॲपच्या नवीन आवृत्तीची योजना करत आहोत आणि त्याचे “आधुनिकीकरण” करायचे आहे आणि ते SwiftUI आणि कम्बाइन (बिझनेस लॉजिक बिट्स) वर आधारित आहे. शेवटी बहुतेक UX/UI बिट्स नवीन SwiftUI/Swift (लॉजिक नॉन UI) कोडमध्ये रीफॅक्टर/पुन्हा लिहिल्या जातील.
परंतु आम्ही विविध बिट्स पुन्हा लिहिण्यावर काम करत असताना आम्हाला विद्यमान कार्यक्षमता जतन करणे आवश्यक आहे, म्हणून आम्हाला नवीन स्विफ्टयूआय आधारित ॲप तयार करायचे होते आणि नंतर विविध विद्यमान UIKit आधारित व्ह्यू कंट्रोलर्स इ. कॉल करायचे होते. हे करण्यासाठी आमच्याकडे यंत्रणा आहे. परंतु ॲप सानुकूल UIA ऍप्लिकेशन वर्ग आणि विस्तृत ॲप प्रतिनिधीसह आयोजित केले गेले होते ज्यास विद्यमान ऑब्जेक्टिव्ह-सी कोड राज्य, किंवा कार्यक्षमता, किंवा आरंभिकरण किंवा इतर विशेष कार्यांसाठी प्रतिसाद देतो. बरेच विद्यमान UIViewControllers आणि बिझनेस लॉजिक मॉड्युल कोडच्या या अंतर्निहित “फ्रेमवर्क” वर अवलंबून आहेत, म्हणून आम्ही या प्रणालीला (तात्पुरते) खेचल्याशिवाय UIKit शी संवाद साधण्यासाठी विद्यमान SwiftUI पद्धती वापरू शकत नाही.
या सानुकूल UIAapplication सबक्लाससह आम्ही स्विफ्टयूआय कसे कार्य करू शकतो हे पाहण्याचा प्रयत्न करत आहे, जोपर्यंत आम्ही या विद्यमान कोड संस्थेवर अवलंबून राहू नये (जसे आम्ही जातो तसे) रिफॅक्टर करू शकत नाही. आतापर्यंत मी अपयशी ठरलो आहे. मी नवीन AppDelegate सह कार्य करण्यास सक्षम आहे, जेणेकरून तो भाग सोडवला जाईल आणि मी माझा UIAapplication subclass main() मध्ये बदलू शकलो, परंतु नंतर ते SwiftUI कोडमध्ये येत नाही, त्यामुळे SwiftUI ॲप सामग्री कधीही सुरू होत नाही धावणे
आम्ही आमच्या नवीन स्विफ्टयूआय आणि कम्बाइन मॉडेलद्वारे काम करण्यासाठी विविध UI चे हळूहळू रिफॅक्टरिंग आणि पुनर्लेखन करत असताना SwiftUI ला माझा सानुकूल UIAapplication उपवर्ग (अंतरिम आधारावर) वापरू देण्याचा मार्ग आहे का?
(पुन्हा, हा एक अंतरिम उपाय आहे जो आम्ही शोधत आहोत जोपर्यंत आम्ही ऑब्जेक्टिव्ह-सी मध्ये अस्तित्त्वात असलेल्या क्लासिक ॲप कोडला आधुनिक कोडच्या विविध तुकड्यांसह बदलू शकत नाही (ज्यापैकी काही ॲप स्टोअर पहिल्यांदा बाहेर आले तेव्हा आधीच उपलब्ध होते.) सुरुवातीला iOS वर परत गेल्यानंतर), ॲप क्षुल्लक नाही, म्हणून तो भाग पुनर्लेखनासाठी येईपर्यंत आम्ही विद्यमान कोड वापरणे सुरू ठेवण्यास सक्षम असावे).
Leave a Reply