につながる:私はこれを使用する場合didSetはEXC_BAD_ACCESS
fileprivate var _saved = false
open var lat = 0.0 {
didSet {
_saved = false
}
}
は
moobj.lat = 0.0
単純なopen var lat = 0.0
ためEXC_BAD_ACCESS
につながることは正常に見えます。エラーはありません。 なぜですか?
につながる:私はこれを使用する場合didSetはEXC_BAD_ACCESS
fileprivate var _saved = false
open var lat = 0.0 {
didSet {
_saved = false
}
}
は
moobj.lat = 0.0
単純なopen var lat = 0.0
ためEXC_BAD_ACCESS
につながることは正常に見えます。エラーはありません。 なぜですか?
数時間後にいくつかの再構築/再開で問題が解消されました。理由を知らない。 Imo、Xcodeのバグ。
私は答えはここにあると思う:次の2点が含まれている「アクセスレベルの指針」の項で特に
ルック:
私は。パブリック変数は、パブリック変数が使用されているすべての場所で使用できない可能性があるため、内部、ファイルプライベート、またはプライベートの型を持つものとして定義することはできません。
ii。関数は、その型の型が周囲のコードで利用できない状況で関数を使用できるため、パラメータ型および戻り型よりもアクセスレベルが高くなりません。
あなたのコードは、didSetオブザーバ関数のパラメータがオープンされていますが、関数自身がfileprivate変数を変更しようとしているため、2番目の条件が悪いと思います。