2016-10-05 9 views
0

私はこれを持っている:フロート変換クラッシュ

時々 value が、私はオプションとしてそれをマークするquestion markを置くことができ、それ

fatal error: unexpectedly found nil while unwrapping an Optional value

上の値を有する場合にクラッシュするまでa OK印刷し

let value = data[1] // its a string 
print("val:",value) // prints 28.3 
let a:Float = Float(value)! 
print("a:",a) 

の値がのときにクラッシュする方法を理解しようとしています。

+0

何文字列のようにしてみてくださいスペース削除するには? –

+0

値をaに変換します。クラッシュ後、私はそれに矢印を置くことができ、それが28.3の値を持つことを見ることができます。 – Curnelious

+2

文字列にスペースや改行などの余白があるのでしょうか? –

答えて

1

if letでオプションのラッピングを使用してください。

if let a = value as? Float { 
    print("a:%f",a) 
} 

それがクラッシュし、この

let newValue = value.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) 

スウィフト3

let newValue = value.trimmingCharacters(in: .whitespaces) 
+0

ありがとう、私はそれを知っていますが、なぜそれが値でクラッシュするのですか? – Curnelious

+0

値からaへの変換の行に。 (ここで値はデバッガに応じて値を持っています) – Curnelious

+0

@Curneliousいいえ、私は何が可変値の値がクラッシュしているのでしょうか? –

関連する問題