2016-03-06 84 views
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. 

我怎樣才能獲取賣家的電子郵件?出於安全原因,這是不允許的嗎?電子郵件字段沒有隱藏在我的分析數據庫中,所以我不明白爲什麼這會是原因。任何幫助表示讚賞。

+4

錯誤消息告訴你問題是什麼; 「seller」PFUser的數據尚未檢索。您需要檢查'seller'上的'dataAvaiable',並在'seller'上調用'fetchIfNeededInackgroundWithBlock',然後在完成塊中訪問該電子郵件,如果它爲false - https://parse.com/docs/ios/api/類/ PFObject.html#/ c:objc(cs)PFObject(im)fetchIfNeededInBackgroundWithBlock:您也可以在您的初始查詢中使用'includeKey:seller' – Paulw11

回答

0

出於安全原因應該隱藏它,你應該鎖定用戶。您應該將產品傳遞給雲代碼,您可以在其中使用主密鑰並獲取用戶信息。在嘗試訪問其他詳細信息之前,只需獲取用戶。

相關問題