不使用Foundation对象

时间:2016-04-20 14:51:39

标签: arrays swift

选择第一个tableView行/部分我想检查选择项是否已经在第二个tableView ?中,如果是,则找到所选项 indexOfObject 在第二个tableView。

NSInteger sectionIndex = [[allSelectedProducts valueForKey:@"productID"] indexOfObject:[allProductData[indexPath.section] valueForKey:@"productID"]];

这将返回allSelectedProducts中所选对象的索引,返回其对应数组值等于给定对象的最低索引。

我想在swift中执行同样的任务,我该如何实现呢!

在Swift中,我已经allSelectedProducts获取第一个tableView,allProductData获取第二个tableView查看两个数组Array<Dictionary<String, Any>>类型

我想执行此任务而不使用基础类,我们是否可以使用Swift中的arrayindexOf中执行相同的任务?

let productIndex = allSelectedProducts.indexOf(<#T##predicate: ([String : Any]) throws -> Bool##([String : Any]) throws -> Bool#>)

如果可以,那怎么样? 请指导我如何在swift中使用indexOf

提前获取任何帮助

1 个答案:

答案 0 :(得分:0)

可能是这样的:

let searchedProductID = allProductData[indexPath.section]["productID"]
let index = allSelectedProducts.indexOf { $0["productID"] == searchedProductID }

这是您原始代码的直接翻译