我需要創建這個if語句:如果(控制器&& controller.view.superview ==無)斯威夫特
if (controller && controller.view.superview == nil)
斯威夫特
。
這是我做的:
if controller != nil && controller!.view!!.superview != nil
這是我的聲明控制器:
var controller: AnyObject? = self.viewControllers[page]
self.viewControllers包含任何NSNull()或UIViewController的
請讓我知道如果這是正確的方法,或者有一些捷徑。
在此先感謝!
有一個要付出代價的選配,可讀性和簡潔是成本的一部分。如果控制器沒有視圖,您仍然會崩潰。明確的解包是新的罪惡。 – zaph 2014-11-08 18:59:29
在Objective-C中'NSNull'和'nil'是不同的。我不確定Swift如何處理它們。 – nhgrif 2014-11-08 19:47:05
NSNull是一個Objective-C類,Swift可以將它作爲Objective-C類處理。但是NSNull最常用,因爲你不能在Objective-C中將nil存儲到數組或字典中,並且在Swift中你可以這樣做,所以它不太有用。它對JSON解析器仍然有用。 – gnasher729 2014-11-08 22:26:33