2014-08-27 64 views
2

林子類parseUser,所以當我尋找我的用戶使用:解析子類ParseUser返回類型

query.getFirstInBackground(new GetCallback<MySubClass>() { 

      @Override 
      public void done(MySubClass user, ParseException e) { 

,但是當我需要用戶 getCurrentUser或logInInBackground我越來越ParseUser代替MySubClass。

我這個用戶的方法:

MySubClass.logInInBackground(userName, "", new LogInCallback() { 

    @Override 
    public void done(ParseUser u, ParseException arg1) { 

    } 
}); 

,但我想回調到我的查詢返回MySubClass對象等。

與此相同:

MySubClass.getCurrentUser() 

回答

6

同樣在這裏問題。

其實你可以通過正確的子類化你的ParseUser來解決這個問題。

@ParseClassName("_User") 
public class User extends ParseUser {} 

然後在初始化解析之前註冊你的類。

ParseObject.registerSubclass(User.class); 

然後,您可以投放到您自己的子類,而鑄造的錯誤:

User user = (User)ParseUser.getCurrentUser(); 
+0

您無法將ParseUser強制轉換爲此用戶 – Hatim 2017-12-07 02:32:04

1

按本article。子類化此對象時,實際上特別需要引用_User「ParseClassName」。這是超級毛茸茸的,我被困在這個很長的時間,因爲對於其他類,你只需要參考Parse數據瀏覽器,在這種情況下是「用戶」,「信息」,「後」等, User類需要下劃線。