Swiftでオブジェクトにnilを割り当てる方法。直接割り当てた場合、エラーが発生します。
nilは、オプションではない定数および変数と共に使用することはできません。コード内の定数または変数が特定の条件下で値が存在しない場合に動作する必要がある場合、常に適切なタイプのオプション値として宣言します
また、非常に重要です:
Swiftのnilは、Objective-Cのnilと同じではありません。 Objective-Cでは、nilは存在しないオブジェクトへのポインタです。 Swiftでは、nilはポインターではなく、特定の型の値が存在しないことです。オブジェクト型だけでなく、任意の型のオプションをnilに設定できます
それがあなたのお役に立てば幸いです!
。
以下を確認してください-
var lastRecordedLocation: String?
lastRecordedLocation = nil
オブジェクトをnilにするには、?markでnilを指定して宣言する必要があります。これは、値が(おそらく)nilになる可能性があることを意味します。次のように宣言します:
var lastRecordedLocation: String?
そして、あなたはそれをnilに設定することができます
lastRecordedLocation = nil
つまり、lastRecordedLocation
オブジェクトはOptional
型ではありません。次のようにlastRecordedLocationをオプションとして作成した場合:
var lastRecordedLocation:String?
後でそのオブジェクトにnilを設定できます。
注:デフォルト値を指定せずにオプションの変数を定義すると、変数は自動的にnilに設定されます。
var lastRecordedLocation: String?
// lastRecordedLocation is automatically set to nil
or
lastRecordedLocation = nil
オプションのみがnilになることができます
var lastRecordedLocation:CLLocation?
またはこれvar lastRecordedLocation:CLLocation!
プロパティをnilにする場合は、lastRecordedLocationのOptional値が必要です
以下を使用して、以前に入力したデータ型変数を空にしました
var jsonData = Data()
変数は以前にJSONのシリアル化に使用されていましたが、メモリを使いすぎていたため、再初期化してサイズが再び0バイトになりました。