在swift中比较两个数组,并删除不匹配的特定字段的元素

时间:2016-03-31 09:27:15

标签: ios swift

我有两个数组:

var packages = [SAPackage]()
var inappProducts = [SKProduct]()

packages数组中的SAPackage对象有一个标题为sku的String var。 inappProducts数组中的S.KKroduct对象具有名为productIdentifier的String var。我想要做的是删除packages数组中没有与inappProducts数组中的任何对象productIdentifier字符串匹配的sku字符串的任何对象。无论如何还有这个吗?考虑使用集合来查找交叉点,但是我不能检查单个对象字段,只执行整个对象。任何关于此的指针都将非常感激!

2 个答案:

答案 0 :(得分:12)

您可以使用此代码过滤inappProducts,SKProducts,

中存在“sku”的软件包
let filteredPackages = packages.filter { package in
    return inappProducts.contains { product in
        product.productIdentifier == package.sku
    }
}

答案 1 :(得分:-1)

您可以使用Swift的过滤功能。 这是一个简单的例子:

@inject Microsoft.AspNet.Identity.UserManager<ApplicationUser> userManager;
<img src="@User.ProfilePictureUrl(userManager)">