2016-07-18 9 views
-2

印刷変数p02にアクセスエラーが発生しました(「致命的なエラー:予期せぬことに、オプション値のアンラッピング中にnilが見つかりました」)。エラーメッセージによると、私はまだ理由を理解できません。速い、使用時に印刷の問題?そして!変数

var p02:Person! = nil 
var p03:Person? = nil 

if (p02==nil) 
{ 
    print("p02 is nil") 
} 
if (p03==nil) 
{ 
    print("p03 is nil") 
} 
print(p03) 
print(p02) 

誰でも知っている理由は、 おかげ

+1

を試しP02とP03を印刷しようとする原因オプション*およびp03は通常のオプションです。 – Moritz

+0

なぜp02(var p02:Person!= nil)の宣言が合法ですか? – gigir

+0

[オプション](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309)の章を参照してください。スウィフトガイド、特に「暗黙的にアンラップされたオプション」の部分。 – Moritz

答えて

1

それは常にP02は*が暗黙のうちに__unwrapped__ですので、彼らがnil

ている場合でも、この

var p02:Person! = nil 
var p03:Person? = nil 

if (p02==nil) 
{ 
    print("p02 is nil") 
}else{ 
    print(p02) 
} 
if (p03==nil) 
{ 
    print("p03 is nil") 
}else{ 
    print(p03) 
} 
関連する問題