2016-09-02 6 views
0

イメージのアップロード中にFirebaseにやさしいチャットサンプルを実装していました。オプションの文字列で応答を得る。見逃しているのは何ですか?ファイアウォールのアップロードファイルがファイル名にオプションの文字列を取得する

Optional(FIRStorageMetadata 0x7fc84aced790: { 
    bucket = "abc.appspot.com"; 
    contentEncoding = identity; 
    contentType = "image/jpeg"; 
    downloadTokens = "abctoken"; 
    generation = 1231231; 
    metageneration = 1; 
    name = "Optional(\"S5CKnKUykANdxSvZ3wujpMXHTvg1\")/494509700277/asset.JPG"; 
    timeCreated = "2016-09-02T11:49:00.114Z"; 
    updated = "2016-09-02T11:49:00.114Z"; 
}) 

私のコード:(?)(!)

let filePath = "(FIRAuth.auth()!.currentUser!.uid)/(Int(NSDate.time‌​IntervalSinceReferen‌​ceDate() * 1000))/(referenceUrl.lastPathComponent!)" 

は、オプションの値が書き込まれたサンプルに私はそれを変換

+0

でそれをアンラップ..あなたは、オプションの値のチェックを送信して、その時点で、あなたがアップロードしたときに名前が作成されたことを二回 –

+1

ファイルをFirebase Storageに保存します。オプションの値を強制的に展開する必要があります。ヘルプが必要な場合は、Firebase Storageにファイルをアップロードする方法を示す最小限のコードを投稿してください。 –

+0

@FrankvanPuffelenありがとうございます。 ファイルパスを "\(FIRAuth.auth()!,現在のユーザー!uid)/ \ (?)をサンプルに入れて変換する(!) –

答えて

1

迅速では、これを避けるために、アンラップ値を強制する必要があります(ただし、確かに、それは無しではない)。

"\(optionalValue!)"

それとも、firebaseに値を設定する際の標準的な方法

if let value = optionalValue { 
    someFIRMethod("\(value)") 
} 
関連する問題