2016-09-15 3 views
2

私たちはParse serverを試しています。以前はParse SDKを使用していません。 学習の一環として、Facebook login with Parseを試しましたが、それはうまくいきました。次に、取得したユーザー情報を保存したかったので、Profile pictureを保存しています。PFObject値にはクラスがありません:_SwiftValue

let pictureURL = "https://graph.facebook.com/\(facebookID)/picture?type=large&return_ssl_resources=1" 
let imageData = NSData.init(contentsOf: NSURL(string: pictureURL) as! URL) 
let picture = PFFile(data: imageData! as Data) 
PFUser.current()?.setObject(picture, forKey: "profilePicture") 
PFUser.current()?.saveInBackground() 

は、そして、それは以下のログに沿っsetObjectにクラッシュコード:すべてのヘルプははるかに高く評価され

crash log - image

は、この問題は解決取得します。ありがとう!

+0

'の代わりに' Data'のNSData'を試してみてください。ここでは 'let picture = PFFile(data:imageData!Data)' –

+0

@ Mr.UB 'public convenience init(data:Data)'ですので、 'NSData'を受け付けません。しかし、私はこれを 'Let '= PFFile(data:(dataとしてimageData!as NSData)'としようとしました) 'と同じエラーを受けました。 – Nina

答えて

2

オプションのものをAnyに渡したときに発生します。

この試してみてください:あなたはpictureがnilになることはありませんことを確信している場合、

if let picture = PFFile(data: imageData! as Data) { 
     PFUser.current()?.setObject(picture, forKey: "profilePicture") 
     PFUser.current()?.saveInBackground() 
    } 

それとも単にこれを:

let picture = PFFile(data: imageData! as Data) 
    PFUser.current()?.setObject(picture!, forKey: "profilePicture") 
    PFUser.current()?.saveInBackground() 
+0

最初に試してみました。 – Nina

関連する問題