【问题标题】:How do I get data from a related user in a subclass of ParseObject?如何从 ParseObject 的子类中的相关用户获取数据?
【发布时间】:2021-10-27 15:45:50
【问题描述】:

我正在 VisualStudio 中处理 Xamarin 项目。

我有一个 ParseObject 子类。它有一个链接到 ParseUser 的字段“SentBy”。它是这样构造的:

[ParseClassName("Beacon")]
public class Stuff_ParseBeacon : ParseObject
{
    public Stuff_ParseBeacon() {  }
    
    [ParseFieldName("sentBy")]
    public ParseUser SentBy
    {
        get { return GetProperty<ParseUser>(); }
        set { SetProperty(value);}
    }
}

我正在尝试在服务器上的 ParseClass 中包含一个不需要的参数,该参数从链接用户获取存储在“phoneNumber”下的数据。所以,像这样:

    public string SentByPhoneNumber
    {
        get
        {
            return SentBy.Get<string>("phoneNumber");
        }
    }

但我不断收到错误消息,即 ParseUser 中没有这样的密钥——这是错误的,因为我所有的 ParseUser 都存储了一个电话号码。

我做错了什么?

(顺便说一句,以防万一:我正在尝试使用 SentByPhoneNumber 作为可绑定属性)

【问题讨论】:

  • 你想学习什么教程?您不使用 Newtonsoft.Json 是否有原因?
  • 我没有学习任何教程,我正在使用 Xamarin.Forms 和 c# 进行编码。
  • 如果你使用 Newtonsoft.Json 会容易很多,正如你在这个例子中看到的那样github.com/saamerm/Xamarin-GoogleSheetsDB/blob/master/… 然后你可以将 json 日期粘贴到这个网站来获取模型中的 C# @987654322 @
  • 我同意@Saamer,您的代码似乎过于复杂,使用 Newtonsoft.Json 功能(或 System.Text.Json 功能)可以更轻松地解决问题。
  • 每个人都有他们喜欢的 API,除非我误解了,否则你是在试图让我使用你的,但我并没有涉入这个论点。我完全相信代码可能过于复杂,但没有办法绕过使用 Parse 对象。如果您知道在仍然使用 ParseObject 子类的情况下更简单的方法,我会全力以赴,但重写所有数据库代码和推送通知系统不是一种选择。如果我有误解,并且有一些方法可以在 Parse 对象旁边使用 Newtonsoft.json,请告诉我。

标签: xamarin.forms data-binding parse-platform


【解决方案1】:

我认为这不是最好的方法,但这就是我最终要做的。

我刚刚在 Beacon 类中添加了一个 phoneNumber 字段,它由创建 Beacon 的用户直接填充 - 即存储在 SentBy 字段中的用户。

问题在于,如果我更改SentBy 用户的电话号码,它不会自动更新。

这几乎正是我不想在我的问题中做的事情。

因此,我确信有一种比在创建时手动将该数据放入引用类更好的方法来引用存储用户的字段,但这是我必须做的事情才能继续前进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    相关资源
    最近更新 更多