2016-09-24 5 views
0

Swift 3Xcodeに更新しましたが、このエラーの原因を特定できません。誰でも助けることができる???InvalidFirebaseData '、理由:'(setValue :)

エラー:InvalidFirebaseData '理由:'(のsetValue :)ことができませんthumbnailUrlFromStorageのタイプ_SwiftValueのストアオブジェクト。 NSNumber、NSString、NSDictionary、およびNSArray型のオブジェクトのみを格納できます。私はそれを実行する機会を持っていなかったので、これは仕事ができる

// Create a url for data (tumbnail image) 
self.fileUrl = metaData?.downloadURLs![0].absoluteString 
if (FIRAuth.auth()?.currentUser) != nil { 
    let idRoom = self.BASE_REF.child("rooms").childByAutoId() 
    idRoom.setValue(["caption": caption, "thumbnailUrlFromStorage": self.storageRef.child(metaData!.path!).description, "fileUrl": self.fileUrl]) 
+0

idRoomで辞書や配列を作成しようとしていますか?どのタイプの価値があるのか​​説明してください。 – CodeChanger

+0

私は、Firebaseデータベースにデータを保存しようとしています。後で別のViewControllerにデータを呼びたいと思います。ファンクションは次のようになります "func CreateNewRoom(ユーザー:FIRUser、キャプション:文字列、データ:データ){ filePath ="サムネイル/ \(user.uid)/ \(Int(Date.timeIntervalSinceReferenceDate)) " error!= nilの場合、 のメタデータを「FIRStorageMetadata()エラーアップロード: ") 返信" –

答えて

1
if (FIRAuth.auth()?.currentUser) != nil { 
    let idRoom = self.BASE_REF.child("rooms").childByAutoId() 
    let thumbnailUrlFromStorage: String = self.storageRef.child(metaData!.path!).description 

    let data: Dictionary<String, Any> = [ 
    "caption": caption, 
    "thumbnailUrlFromStorage": thumbnailUrlFromStorage, 
    "fileUrl": self.fileUrl 
    ] 

    idRoom.setValue(data) 
} 

わからない場合は、あなたがnilとしてself.storageRef.child(metaData!.path!).descriptionを集めているように私には見えます:

私のコードです。

+0

ありがとうございます:-) ありがとうございました –

+0

問題なし@CarstenHøvsgaardと答えを受け入れることを忘れないでください – Wilson