को अनदेखा नहीं करता है, मैंने अपने कोड में कुछ ऐसा किया है जो उत्सुक लगता है और सोच रहा था कि इस व्यवहार के लिए सीधा स्पष्टीकरण है या नहीं। निम्नलिखित बयान को देखते हुए:if-let कथन वैकल्पिक
if let tabBarController = topViewController as? UITabBarController {
for subcontroller in tabBarController.viewControllers! {
println(subcontroller.view)
if let subcontrollerView = subcontroller.view {
println(subcontrollerView)
println(subcontrollerView!)
if subcontrollerView!.window != nil && subcontroller.isViewLoaded() {
topViewController = subcontroller as? UIViewController
break;
}
}
}
}
अब के रूप में तक मुझे पता है अगर-जाने बयान मेरे लिए सशर्त खोलने चाहिए - लेकिन इस व्यवहार यहाँ प्रदर्शित नहीं है। मैं window
subcontrollerView
की संपत्ति तक नहीं पहुंच सकता जब तक कि मैं फिर से वैकल्पिक नहीं खोलता। एक्स-कोड कंसोल निम्न देता है:
Optional(<UILayoutContainerView: 0x7fbccd44e7f0; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x7fbccacdde90>; layer = <CALayer: 0x7fbccd440e30>>)
Optional(<UILayoutContainerView: 0x7fbccd44e7f0; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x7fbccacdde90>; layer = <CALayer: 0x7fbccd440e30>>)
<UILayoutContainerView: 0x7fbccd44e7f0; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x7fbccacdde90>; layer = <CALayer: 0x7fbccd440e30>>
अनचाहे वैकल्पिक और if-let स्थिर समान हैं। क्यूं कर?
कुछ भी नहीं है यदि आपका वैकल्पिक शून्य है तो अनचाहे हो जाएगा। – gnasher729
दाएं, लेकिन कंसोल आउटपुट को देखें - यह शून्य नहीं है – kellanburket
मेरे लिए एक बग की तरह दिखता है, क्या आप इसे एक छोटी परियोजना में अलग कर सकते हैं? यदि ऐसा है, तो आप इसे यहां पोस्ट कर सकते हैं और हम इसे स्वयं देख सकते हैं। यदि अभी भी एक मुद्दा है कि ऐप्पल को रडार जमा करने के लिए परियोजना बहुत अच्छी होगी। – drewag