2009-08-27 24 views
12

का होना चाहिए मैं अपने ज फ़ाइल में मेरी @interface परिभाषा के अंदर एक बूल मान है। यहां यह नीचे है। यह एक ही समस्या है चाहे वह एक सूचक है या नहीं। ": के साथ 'बनाए रखने' विशेषता ऑब्जेक्ट प्रकार का होना चाहिए संपत्ति 'myBoolVariableName' त्रुटि" मेरे ज फ़ाइल के आयात के लिए लाइन परत्रुटि: संपत्ति 'myBoolVariableName' 'बनाए रखने' विशेषता के साथ ऑब्जेक्ट प्रकार

@interface myCustomViewController : UIViewController <UIWebViewDelegate> { 
{ 
//...more iboutlets defined above 
BOOL *myBoolVariableName; 
} 

जब मैं संकलन, मैं मिलता है।

मैं एक पूर्णांक/nsnumber के बारे में यहाँ यह पेज पाया:

http://discussions.apple.com/thread.jspa?threadID=1846927

तो, ऐसा लगता है मैं एक @interface परिभाषा के अंदर BOOL मूल्यों का उपयोग नहीं कर सकते। इसके बजाय मैं क्या उपयोग कर सकता हूं?

मैं BOOL/बूलियन मूल्यों के लिए क्या करना चाहिए?

उत्तर

33

मेरा अनुमान है कि यह है कि बाद में अपने इंटरफ़ेस में आप कुछ इस तरह है:

@property (retain) BOOL *myBoolVariableName; 

इसका मतलब है कि एक संपत्ति जो मूल्य एक BOOL के लिए सूचक है है बनाने के लिए, और शब्दों को बनाए रखने के लिए इस्तेमाल करते हैं।

आपका समस्या यह है कि BOOL * स्मृति का एक बाइट, नहीं एक वस्तु के लिए सूचक के लिए सूचक है। और बनाए रखना कुछ ऐसा है जो केवल वस्तुओं पर लागू होता है।

यहाँ कैसे आप एक BOOL संपत्ति बना सकते हैं।

@interface myCustomViewController : UIViewController <UIWebViewDelegate> { 
    BOOL myBoolVariableName; 
} 

@property myBoolVariableName; 

@end 

महत्वपूर्ण अंतर यह है कि चर "BOOL", नहीं "BOOL *" के रूप में घोषित किया जाता है और संपत्ति नहीं है (बनाए रखने) कर रहे हैं।

+4

मुझे इसे ऐसा करना था, लेकिन अन्यथा आप सही पर मर चुके हैं। :) धन्यवाद। @property BOOL myBoolVariableName; – Neo42

+0

यह इंटीग्रर्स पर भी लागू होगा –

1

मुझे इसी तरह की स्थिति का सामना करना पड़ा है। मैंने इसे हल किया,

@interface myCustomViewController : UIViewController { 
BOOL myBoolVariableName; 
} 
@property BOOL myBoolVariableName; 
@end 

मैं जॉन हेस द्वारा एक जवाब का संदर्भ देता हूं लेकिन मुझे इसमें एक त्रुटि मिली है। टाइप नाम के लिए एक विशिष्ट या क्वालीफायर की आवश्यकता होती है। मेरे पिछले संस्करण की तरह

@property myBoolVariableName; 

तो मैं BOOL जोड़ा गया है और समस्या हल हो जाती थी।

संबंधित मुद्दे