यह ऐसा करने के लिए, आप मूल प्रकार परिभाषा को संशोधित करने के लिए नए मूल्य शामिल करने के लिए है:
typedef enum {
UIModalTransitionStyleCoverVertical = 0,
UIModalTransitionStyleFlipHorizontal,
UIModalTransitionStyleCrossDissolve,
UIModalTransitionStylePartialCurl,
UIModalTransitionStyleCoverVerticalFlipped
} UIModalTransitionStyle;
अन्यथा, आप अपने काम नहीं कर रहा पर एक मौका ले जा सकते हैं, और यह अलग निर्धारित करें:
typedef enum {
UIModalTransitionStyleCoverVertical = 0,
UIModalTransitionStyleFlipHorizontal,
UIModalTransitionStyleCrossDissolve,
UIModalTransitionStylePartialCurl,
} UIModalTransitionStyle;
typedef enum {
UIModalTransitionStyleCoverVerticalFlipped =
UIModalTransitionStylePartialCurl + 1
} ExtendedUIModalTransitionStyle;
एक चर है कि मूल गणन पकड़ सकता है आमतौर पर भी बिल्कुल ठीक काम करेंगे जब/अगर आप रूप में अच्छी तरह से नए मूल्य निर्दिष्ट (एक विशिष्ट मामले में, यह सिर्फ एक int
हो जाएगा) - लेकिन यहहै गारंटीकृत। कम से कम सिद्धांत में, कार्यान्वयन कुछ पर्याप्त बिट्स को असाइन कर सकता है ताकि यह गणना हो सके कि यह अधिक मूल्य जोड़कर इस तरह काम नहीं करेगा। यह रेंज जांच भी कर सकता है ताकि कोको रेंज वैल्यू से बाहर करने की अनुमति नहीं दी जा सके। इनमें से कोई भी सामान्य नहीं है, इसलिए व्यावहारिक दृष्टिकोण से यह शायद कोई समस्या नहीं है - लेकिन सैद्धांतिक दृष्टिकोण से, कुछ भी वास्तव में गारंटी नहीं देता है कि इस तरह का कोड काम करेगा।
स्रोत
2010-06-26 13:51:17
यदि आपके पास ढांचे का स्रोत है, तो आप यह और आपके द्वारा किए गए किसी अन्य संशोधन को कर सकते हैं। – ognian
आप जो करना चाहते हैं वह सही मायने रखता है। दुर्भाग्यवश, enums वास्तव में बाहरी रूप से विस्तारित नहीं किया जा सकता है, उदाहरण के लिए, कक्षाएं (विरासत, आदि के माध्यम से) हो सकती है। – apollodude217