Kodumda meraklı görünen ve bu davranış için açık bir açıklama olup olmadığını merak ettiğim bir şeyle karşılaşıyorum. Aşağıdaki ifadeyi Verilen:if-let ifadesi isteğe bağlı açılmıyor
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;
}
}
}
}
Şimdi sıra bildiğim kadarıyla eğer-let deyimi benim için koşullu paketini gerektiğini - ama bu burada sergilenen davranış değildir. İsteğe bağlı olarak yeniden açmam sürece subcontrollerView
numaralı window
özelliğine erişemiyorum. X-kod konsol aşağıdaki verir:
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>>
Çizelgesi opsiyonel ve eğer-let sürekli aynıdır. Niye ya?
Hiçbir şey İsteğe bağlı nil ise unwrapped olacaktır. – gnasher729
sağ, ama konsol çıkışına bakın - – kellanburket
bana bir hata gibi görünüyor, bu küçük bir projede izole edebilir misiniz? Eğer öyleyse, onu buraya gönderebilirdiniz ve kendimize bir göz atabiliriz. Eğer hala bir projenin Apple'a bir radar göndermek için harika olacağı bir sorun varsa görünüyor. – drewag