मुझे लगता है कि यह एक बग है। AddChildViewController को कॉल करना किसी भी चेतावनी या त्रुटि के बिना भी चल रहा है।
मैं निम्नलिखित viewDidLoad लिखा है:
- (void)viewDidLoad
{
[super viewDidLoad];
MyChildView *aChildViewController = [[MyChildView alloc] initWithNibName:@"MyChildView" bundle:nil];
// Do any additional setup after loading the view, typically from a nib.
SEL mySelector = @selector(addChildViewController:);
if([UIViewController instancesRespondToSelector:mySelector] == YES) {
NSLog(@"YES addChildViewController:");
[self addChildViewController:aChildViewController];
} else {
NSLog(@"NO addChildViewController:");
}
if([UIViewController instancesRespondToSelector:@selector(automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers)] == YES) {
NSLog(@"YES automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers");
} else {
NSLog(@"NO automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers");
}
}
iOS 4.3 सिम्युलेटर में मैं उत्पादन निम्नलिखित देखें। दोनों संदेश आईओएस 5.0 और उच्चतर तक सीमित हैं। ऐसा लगता है कि AddChildViewController 4.3 सिम्युलेटर में गलत तरीके से प्रतिक्रिया दे रहा है। मेरे पास एक वास्तविक डिवाइस पर परीक्षण करने के लिए 4.3 डिवाइस नहीं है।
2011-11-18 09:55:12.161 testViewFunctionality[873:b303] YES addChildViewController:
2011-11-18 09:55:12.162 testViewFunctionality[873:b303] NO automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
आईओएस 5.0 सिम्युलेटर दोनों में सही व्यवहार है जो प्रतिक्रिया करता है।
2011-11-18 09:59:31.250 testViewFunctionality[932:f803] YES addChildViewController:
2011-11-18 09:59:31.252 testViewFunctionality[932:f803] YES automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
मैं शेर पर एक्सकोड 4.2 का उपयोग कर रहा हूं। जब मैं 4.3 सिम्युलेटर के ढांचे पर UIViewController.h को देखता हूं तो addChildViewController का कोई उल्लेख नहीं है: या स्वचालित रूप से फॉरवर्डएपियरेंस एंडरोटेशन मैथ्यूज टू चिल्डव्यू कंट्रोलर लेकिन एकमात्र एसडीके शामिल 5.0 है।
मुझे लगता है कि अगर आप सतर्क होना चाहते थे आपके द्वारा चलाए जा डिवाइस पर चल iOS संस्करण का परीक्षण कर सकता है। How to check iOS version?
मुझे यकीन नहीं है कि ऐसा क्यों होता है लेकिन मैंने पुष्टि की कि मैं एक्सकोड 4.2 में एक ही चीज़ देखता हूं। मैं अपने तैनाती लक्ष्य को 4.0 तक भी सेट करना चाहता था। उदाहरण के लिए स्वचालित रूप से एक ही परीक्षण करना ForwardAppearanceAndRotationMethodsToChildViewControllers उदाहरण के लिए नहीं देता है। – Joel
इसे चलाने की कोशिश करते समय यह चेतावनी प्रदर्शित करता है? यह संभव है कि उस विधि को 4.0 में शामिल किया गया था लेकिन निजी है, हालांकि आम तौर पर निजी तरीकों का उनके सामने _ होता है ... तो अजीब – Daniel
लगता है यह एक निजी एपीआई हो सकता है कि ऐप्पल आईओएस 4 का उपयोग और परीक्षण कर रहा था। अब यह उत्पादन है तैयार है, इसे अभी आईओएस 5 के साथ सार्वजनिक खपत के लिए जारी किया जा सकता है। मुझे यकीन नहीं है, बस यहां गेंदबाजी थूकना। –