ओवरराइड करें क्या एक पाठक चर को ओवरराइट करने के लिए lldb में कोई तरीका है।रीडोनली वेरिएबल एलएलडीबी स्विफ्ट
उदाहरण के लिए यदि आप एक struct
struct Object {
let name: String
}
था lldb साथ Xcode में एक ब्रेकप्वाइंट पर में निम्नलिखित कर
(lldb) expression object.name = "Tom"
error: <EXPR>:2:19: error: cannot assign to property: 'name' is a get-only property
में परिणाम होगा मैं पूरी तरह से समझते क्यों ऐसा होता है, बस यह जानना चाहते हैं कि डिबगिंग के दौरान इसे पाने का कोई आसान तरीका है या नहीं?
कृपया ध्यान दें यह स्विफ्ट & में है नहीं ऑब्जेक्टिव-सी
आपको एक पाठक चर को ओवरराइट करने की आवश्यकता क्यों है? चूंकि आप जानते हैं कि आप 'ऑब्जेक्ट' का नाम नहीं बदल सकते हैं, तो आप इसका नाम बदलने के बजाए एक नया 'ऑब्जेक्ट' क्यों शुरू नहीं करते? –
@ जो क्योंकि जब आप डीबगिंग कर रहे हैं और एलएलडीबी का उपयोग करते हैं तो अक्सर विभिन्न व्यवहारों का परीक्षण करने के लिए रनटाइम पर एक चर बदलने के लिए उपयोगी होता है। यदि आपके पास एक जटिल वस्तु है जिसके लिए निर्भरता इंजेक्शन की आवश्यकता होती है तो बस एक नई वस्तु आवंटित करने से आपके कंसोल में अधिक जटिल हो जाता है। – sbarow
तो क्यों नहीं var को बदल दें? – WMios