NSDataをnilに初期化するにはどうすればよいですか?
後で、UIImageJPEGRepresentationを使用する前に、このデータが空かどうかを確認する必要があるためです。
何かのようなもの :
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
Data.length == 0を試しましたが、理由がわかりません。初期化していないのに、data.lengthが0に等しくありません。
できることの1つは、NSData
プロパティがオプションであることを確認することです。 NSDataオブジェクトがまだ初期化されていない場合は、if nil
小切手。
次のようになります。
var data: NSData? = nil
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
Swiftのオプションはデフォルトでnilに設定されているため、最初の割り当て部分も必要ありません!これを行うだけです。
var data: NSData? //No need for "= nil" here.
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
Nil NSData
が必要な場合は、次のように初期化できます。
var data: NSData?
次に、以下を使用できます。
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
空のデータが必要な場合は、次のように初期化します。
var data = NSData()
そして、それが空であることを確認するには:
if data.length == 0 {
data = UIImageJPEGRepresentation(image, 1)
}
data
変数をnil
に設定する場合は、_data = nil
_を実行します。空に設定したい場合は、data = NSData()
を実行してください。