起初,我宣佈我的數組:的NSMutableArray和NSArray的斯威夫特
var wrongAnswersArray: NSArray? = []
wrongAnswerLabel.isHidden = (wrongAnswersArray?.count)! <= 0 ? true:false
和我的應用程序正常工作。後來,我需要修改數組,所以我聲明它是可變的,但我不能使用相同的語句來獲取計數。 XCode的建議修改本聲明方式如下:
var wrongAnswersArray: NSMutableArray? = []
wrongAnswerLabel.isHidden = (wrongAnswersArray!).count <= 0 ? true:false
這編譯,但在運行時
1)我們爲什麼不能用同樣的語句失敗?爲什麼NSArray和NSMutableArray的行爲不同?
2)任何方式來解決這個運行時錯誤?
任何與此相關的文檔都會有所幫助。
謝謝!它使整個代碼更簡單。之前我使用'?'到處。我是新來的迅速。我會按照你發送的文件。 –
這個答案並非如此「Swifty」,並且不必要的冗長。你應該使用我的「Swiftier」和更具反應性的答案:https://stackoverflow.com/a/44694853/1311272 – Sajjon
幾個註釋:三元包含'? true:false'不需要存在(只是使用條件來代替),爲什麼數組的元素少於零(使用'wrongAnswersArray.isEmpty'或類似的方法)? – Aehmlo