如何在 PersistentVector 项中存储数组?

How to store an arrays within a PersistentVector item?

我正在尝试这里的遗愿清单设计挑战:

https://github.com/near-examples/workshop--exploring-assemblyscript-contracts

在注释中它说有一个模型 Activity,这应该包括一个 PersistentVector 用于朋友列表。

我的活动存储为 PersistentVector,因此这意味着 PersistentVectorActivity 模型的嵌套 - 这似乎是不可能的。我是不是遗漏了什么,或者这可能是为了引起一些思考而设计的?

当然可以有一个PersistentVector<Activity>,里面每个activity有一个PersistentVector<string>和朋友。然而,使用这个数据结构,我认为你最终会得到所有活动的共享朋友列表(除非你使用唯一的前缀)。如果您使用 PersistentVector 进行活动,则可以使用常规列表 (string[]) 让您的朋友将其隔离在一个 activity 中。否则,您需要使用您的 activity 的 ID 来存储朋友的 PersistentVector(可能是像下面这样的唯一前缀)

friends: PersistentVector<string> = new PersistentVector<string>(uniqueIdOfActivity);

我还没有验证我的假设,但据我了解,PersistentVector 只是一个使用存储的助手