में कस्टम प्रॉपर्टी विशेषताएँ कस्टम संपत्ति विशेषताओं को उद्देश्य-सी में VB.NET की तरह बनाया जा सकता है? उदाहरण के लिए, वीबी.नेट में आप "ब्राउज़ करने योग्य" विशेषता बना सकते हैं और इसे निर्धारित करने के लिए रनटाइम पर पढ़ सकते हैं कि आपको कोई संपत्ति प्रदर्शित करनी चाहिए या नहीं।उद्देश्य-सी
Public Class Employee
<Browsable(True)> _
Public Property Property1() As String
Get
End Get
Set(ByVal Value As String)
End Set
End Property
<Browsable(False)> _
Public Property Property2() As String
Get
End Get
Set(ByVal Value As String)
End Set
End Property
End Class
मैं ऑब्जेक्टिव-सी में भी ऐसा ही है, भले ही यह एक निश्चित विशेषता केवल संकलन समय पर सेट किया जा सकता है कि और सब पर बदला नहीं जा सकता है करना चाहते हैं।
जो मैं करने की कोशिश कर रहा हूं वह यह निर्धारित करने के लिए कि मेरी संपत्ति को क्रमबद्ध किया जाना चाहिए या नहीं, यह निर्धारित करने के लिए मेरी कक्षा के गुणों में एक विशेषता जोड़ना है।
मुझे मानक उद्देश्य-सी विशेषताओं (केवल पढ़ने, nonatomic, आदि) पता है, लेकिन वे मेरी मदद नहीं करते हैं ... जब तक कि आप उनका उपयोग करने का एक रचनात्मक तरीका नहीं है। मैंने __attribute__(("Insert attribute here"))
कीवर्ड के साथ सी विशेषताओं का उपयोग करने में भी देखा, लेकिन सी में विशिष्ट गुण हैं जो विशिष्ट उद्देश्यों को पूरा करते हैं, और मुझे यह भी यकीन नहीं है कि आप उन्हें रनटाइम पर पढ़ सकते हैं। अगर मुझे कोई याद आती है जो मेरी मदद कर सकती है, तो मुझे बताएं।
मैंने typdef
का उपयोग करने का प्रयास किया। उदाहरण के लिए:
typdef int serializableInt;
serializableInt myInt;
और property_getAttributes()
ऑब्जेक्टिव-सी क्रम फ़ंक्शन का उपयोग करें, लेकिन सभी यह बताता है मुझे उस मींट एक पूर्णांक है। मुझे लगता है कि टाइपपेफ इस मामले में एक मैक्रो की तरह काफी है ... जब तक कि मैं रनटाइम पर serializableInt प्रकार का एक चर बना सकता हूं। किसी भी तरह, से प्राप्त मूल्यों पर यहां Apple's documentation है।
दूसरी आवश्यकता यह है कि इस विशेषता को NSObject उप-वर्गों के साथ-साथ आदिम डेटा प्रकारों के साथ काम करना है। मैंने कक्षा में एक ब्लैक सूचियों या श्वेत सूचियों को एक ivar के रूप में जोड़ने के विचार के बारे में सोचा जो मुझे बताएगा कि कौन से गुण छोड़ने या क्रमबद्ध करने के लिए, जो मूल रूप से एक ही विचार है। मैं सिर्फ उस काले/सफेद सूची को विशेषताओं में स्थानांतरित करने की कोशिश कर रहा हूं, इसलिए जब आप किसी वर्ग की शीर्षलेख फ़ाइल देखते हैं तो यह समझना आसान होता है, यह मेरे द्वारा बनाई गई किसी भी कक्षा में सुसंगत है और यह कम त्रुटि प्रवण है।
इसके अलावा, यह विचार करने के लिए कुछ है। मुझे वास्तव में मूल्य (सत्य या गलत; 1, 2, 3; या जो भी हो) की विशेषता की आवश्यकता नहीं है क्योंकि विशेषता स्वयं ही मान है। यदि विशेषता मौजूद है, तो क्रमबद्ध करें; अन्यथा, छोड़ें।
किसी भी मदद की सराहना की जाती है। यदि आप निश्चित रूप से जानते हैं कि उद्देश्य-सी पर यह संभव नहीं है, तो मुझे बताएं। धन्यवाद।
कैसे एक वर्ग विधि उस के साथ एक सरणी रिटर्न बनाने के बारे में धारावाहिक उदाहरण चर के नाम? –
मैंने इसके बारे में सोचा और यह एक आदर्श समाधान है। लेकिन मेरा सवाल विशेष रूप से विशेषताओं के साथ इस समस्या को हल करने के बारे में है। उद्देश्य-सी में कस्टम गुण भी मौजूद हैं? – Roberto