【问题标题】:Checking an array of PFUsers against another array of PFUsers SWIFT根据另一个 PFUsers SWIFT 数组检查一个 PFUsers 数组
【发布时间】:2015-05-13 19:28:29
【问题描述】:

我有两个数组,arrayAarrayB,它们都有相同的元素,其中是 PFUser。虽然arrayB的顺序不对,需要按照arrayA的顺序。有人可以给我看一些可以做到这一点的代码吗?

【问题讨论】:

  • 我什么都没试过,因为我根本不知道该怎么做......我现在只有两个 PFUsers 数组
  • 如果它们有相同的元素,为什么不直接分配arrayB = arrayA?或者只是复制arrayA?
  • 我该怎么做?我需要使它们成为相同的顺序....
  • 我现在很困惑。您有 2 个不同的 PFUser 数组,并且您知道两个数组都包含完全相同的对象,只是顺序不同? PFUser 对象不是独一无二的吗? (一个唯一的用户表示单个 PFUser 对象,永远不会有 2 个 PFUser 对象指向同一个人?)
  • 如果我是对的,那么只需转储您的第二个数组并复制 arrayA。第二个数组,arrayB,包含与 arrayA 相同的对象,以相同的顺序,本质上是相同的数组。

标签: arrays swift parse-platform


【解决方案1】:

您应该能够将数组转换为集合并使用 == 运算符来比较它们,尽管集合不允许重复对象。如果您的数组包含重复的对象,并且您希望不同对象的计数影响数组相等性,这将不起作用

您应该能够将您的数组转换为 NSCountedSet 对象,它可以跟踪对象被复制的次数。

【讨论】:

  • 问题似乎是关于排序,而不是计数?
  • 我认为这个问题是关于比较数组以查看它们是否都包含相同的对象,以及如何做到这一点,即使元素的顺序不同。
【解决方案2】:

要将数组 B 排序为数组 A 的顺序(不是特别处理任一数组中的任何重复对象),您可以使用查找这些对象(或具有相同 objectId 的对象)的索引的块对 B 进行排序,并且然后返回索引的比较。

【讨论】:

  • 谢谢,你能扩展一些代码让我更好地理解吗?
猜你喜欢
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
  • 2016-02-08
相关资源
最近更新 更多