0
在我的應用程序中,我試圖讓用戶通過電子郵件互相聯繫。當用戶按下「聯繫賣家」時,我正在使用雲端功能發送用Mailgun處理的自動電子郵件。如何檢索不是當前用戶的PFUser電子郵件?
我必須通過訪問當前用戶的電子郵件地址:
let buyerEmail = PFUser.currentUser.objectForKey("email") as! String.
什麼被賣是PFObject稱爲產品。產品的一個領域是「賣家」,它代表發佈待售產品的用戶。
我想通過這種方式來獲得賣家的電子郵件:
let seller = product.objectForKey("seller") as! PFUser
let sellerEmail = seller.objectForKey("email") as! String
然而,當我嘗試運行我的應用程序,它具有以下消息崩潰:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Key "email" has no data. Call fetchIfNeeded before getting its value.
我怎樣才能獲取賣家的電子郵件?出於安全原因,這是不允許的嗎?電子郵件字段沒有隱藏在我的分析數據庫中,所以我不明白爲什麼這會是原因。任何幫助表示讚賞。
錯誤消息告訴你問題是什麼; 「seller」PFUser的數據尚未檢索。您需要檢查'seller'上的'dataAvaiable',並在'seller'上調用'fetchIfNeededInackgroundWithBlock',然後在完成塊中訪問該電子郵件,如果它爲false - https://parse.com/docs/ios/api/類/ PFObject.html#/ c:objc(cs)PFObject(im)fetchIfNeededInBackgroundWithBlock:您也可以在您的初始查詢中使用'includeKey:seller' – Paulw11