2015-10-13 28 views
2

我想初始化一個NSTimeZone對象是這樣的:在NSTimeZone初始化結果「無法讀取數據」

var timezone = NSTimeZone.init(name: "Europe/Moscow") 

代替或一個合法的區域值 - 我得到「無法讀取數據通過NSTimeZone.knownTimeZoneNames()

「在Xcode的調試工具

enter image description here

我得到了時區字符串(」 歐洲/莫斯科「)

我正在使用xCode 7

我在做什麼錯?

+1

而不是var使用let.Its正常工作。 讓_timeZone = NSTimeZone(名稱:「Europe/Moscow」) print(_timeZone) – IamAnil

+0

嗯。是印刷聲明給我: 可選(歐洲/莫斯科(GMT + 3)偏移10800) - 調試器仍顯示「無法讀取數據」 –

+1

調試器變量視圖有時只是*錯誤*。如果print()給出正確的輸出,那麼一切都正常。 –

回答

0

正如在評論中指出 - 變量視圖只是錯誤 - 一個print()導致了正確的輸出。

運行iPhone 6模擬器而不是iPhone 5模擬器可獲得預期結果。

0

以前沒有使用過這個類,但我猜它應該是let timezone = NSTimeZone(name : "")?從未見過以這種方式初始化的類。

+0

是的,這可能是更乾淨(y) - 但它產生相同的結果 –

0

它的工作對我來說很好,用Let的var.Check下面 enter image description here

,而不是作爲參考 Swift NSDate UTC time and local time

+0

嗯 - 你可以嘗試運行它與iPhone 5模擬器嗎?當運行IPhone 6模擬器時,我知道它是正確的(不管使用let還是var) –