2013-02-04 17 views
6

मैं कुछ परेशानी हो रहा है एक स्थिर UITableView पर UISwitch के साथ काम करते है। मैं जब अनुप्रयोग भार एक निश्चित UISwitch के अंतिम राज्य बहाल करने के लिए है, लेकिन जब भी मैं IBOutlet के राज्य की जाँच करें, यह नहीं के बराबर है। मैंने वैरिएबल को मैन्युअल रूप से आवंटित करने का प्रयास किया है, जो कि किसी भी मदद की नहीं थी।आईओएस 6.1 पर, UISwitch IBOutlet हमेशा शून्य

यहाँ मैं क्या कर रहा हूँ है:

SettingsController.h

//IBOutlet connected correctly 
@property (strong, nonatomic) IBOutlet UISwitch *switch_displayDetail; 

SettingsController.m

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    if (!_switch_displayDetail) { 
     NSLog(@"_switch_displayDetail is NIL"); //This is always displayed 
    } 

    //Switch is default to YES, I am trying to set it to NO 
    //This line does nothing... 
    [_switch_displayDetail setOn:[dataManager shouldDisplayDetail] animated:YES]; 
} 

हर जगह किसी और जब मैं _switch_displayDetail की स्थिति जांचने यह नहीं के बराबर है। मैं सभी सुपर प्रारंभिक तरीकों को बुला रहा हूं। आईओएस 6.1 पर कुछ भी बदल गया?

[संपादित करें] संश्लेषित चर का उपयोग या तो काम नहीं करता।

[संपादित करें 2] मिले समस्या Xcode पर, या iPhone सिम्युलेटर पर एक बग किया जाना है। मेरे आइपॉड स्पर्श पर परीक्षण करने के बाद, प्रारंभिक एल्गोरिदम पूरी तरह से काम किया।

मैं इस समस्या के साथ पागल जा रहा हूँ ...

+0

जांचें कि क्या आप 'initWithNibName' कर रहे हैं और सेटिंग नियंत्रक – Sathya

+0

पर केवल' init' नहीं है, यह भी जांचें कि आप सही ढंग से nib नाम वर्तनी कर रहे हैं। – Fogmeister

+0

_switch_display के बजाय self.switch_displayDetail का प्रयास करें –

उत्तर

1

सभी को आपके उत्तरों के लिए धन्यवाद, लेकिन लगभग छोड़ने के बाद, मैंने अपने ऐप को अपने आईपॉड स्पर्श पर परीक्षण किया और यह पूरी तरह से काम किया। यह आईफोन सिम्युलेटर पर एक बग की तरह दिखता है या शायद एक्सकोड पर एक बग (यहां कुछ भी नया नहीं)। आईफोन सिम्युलेटर मेनू पर सभी सेटिंग्स और डेटा को रीसेट करने के बाद, यह भी वहां काम करता था।

तो, पागल होने से पहले, एक वास्तविक डिवाइस पर अपनी ऐप का परीक्षण करें।

+1

सिम्युलेटर में सेटिंग्स और डेटा को रीसेट करने से यह मेरे लिए भी किया गया। इसके अलावा, मैंने आईओएस 6.0 पर भी इसका अनुभव किया। – Frost

1

मैं पहले हाथ कैसे निराशा उन गोधूलि क्षेत्र मुद्दों हो सकता है। निदान के लिए स्पष्ट रूप से बहुत कम जानकारी है, लेकिन मैंने सोचा कि मैं साझा करूंगा कि मैं डिबगिंग से कैसे संपर्क करूंगा।

  1. , switch_displayDetail के लिए सेटर ओवरराइड, वहाँ में मूल्य लॉग इन करें, लेकिन यह भी self
  2. फिर viewWillAppear में, एक ही बात के लिए लॉग इन

मुझे लगता है कि हम एक ही बात नहीं कर रहे है उदाहरण यहाँ। यदि मैं सही हूं, तो सेटर एक मान प्रदर्शित करेगा, लेकिन viewWillAppear नहीं। यदि मैं गलत हूं, तो दोनों शून्य होंगे और उस स्थिति में आप सही init विधि को कॉल नहीं कर रहे हैं, या आपका लिंक आईबी में सही नहीं है।

बस मेरे दो सेंट।

+0

धन्यवाद।मैंने एक ही चीज़ के बारे में सोचा। मैं इसे आजमाऊंगा और परिणाम यहां पोस्ट करूंगा। –

-1

पहले:

@property (strong, nonatomic) IBOutlet UISwitch *switch_displayDetail; // should be a weak property 

और फिर आप अपनी संपत्ति @synthesized है?

+0

आईओएस 6.0 गुणों पर संश्लेषित करने की आवश्यकता नहीं है –

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