Appleのdocumentation状態:StructsとClassesでどのようにストアドプロパティを初期化する必要がありますか?
クラスと構造体は、そのクラスのインスタンスまたは 構造が作成された時点で 適切な初期値にその保存されたすべてのプロパティを設定する必要があります。格納されたプロパティは、 不定状態のままにすることはできません。
私もthisの質問を見ましたが、それでも答えを見つけることができませんでした。
// struct
struct FlickrObj { // No Error ????
var title : String
var photographer : String
}
// class
class FlickrObj { // will create error: Class 'FlickrObj' has no initializers
var title : String
var photographer : String
}
Appleは両方のクラスと構造体は、その保存されたプロパティを設定する必要がありますが、なぜ構造体は、任意のコンパイル時のエラーを与えるものではありませんと言う?
[memberwise initialisers for structs]のドキュメントを参照してください(https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097- CH18-ID213) – Hamish
または私のオンラインブック:http://www.apeth.com/swiftBook/ch04.html#_struct_initializers_properties_and_methods – matt
誰かが私を教えてくれますか?これは悪い質問ですか?私は、SOに類似の質問があった場合、それは悪いことを意味します。その回答がドキュメンテーションから得られたという理由だけでは、それは明らかではありません。そして、たとえそれがドキュメントであっても、多くの良い答えが抽出されます。 2つの非常に似たような方法を見て、エラーを出すものとエラーを出さないものを混乱させる。 – Honey