ios - 访问数组元素并将其与所选数据的单元格匹配

标签 ios swift

我有ResturantFile.plist餐厅名称、项目和价格以以下形式存储 ( { 汉堡点 ( { 项目名称 = 商品价格 = } ) } )

现在我想访问数组元素并传递给 RestaunrantViewController,当我选择具有每个餐厅名称对应名称的 collectionviewcell 时,另一个 View Controller 中有一个 UITableView,我想显示 itemName 和 ItemPrice。 但我不知道我该怎么做

我正在使用它访问 ResturantFile.plist

 let pathUrl =  Bundle.main.path(forResource: "ResturantFile", ofType: ".plist")
    print("path url is",pathUrl)

    let finalArray = NSMutableArray(contentsOfFile: pathUrl!)
    print("final Array is",finalArray)

并没有选择方法代码是:

 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath){

    let pathUrl =  Bundle.main.path(forResource: "ResturantFile", ofType: ".plist")
    print("path url is",pathUrl)

    let finalArray = NSMutableArray(contentsOfFile: pathUrl!)
    print("final Array is",finalArray)

    let itemNames = finalArray?.sorted(by: {$0 == "ItemName"})// this is not working for me

    // pass restaurant name and image to the restaurntviewcontroller via viewcontroller
    if blockClosure != nil{ blockClosure(restaurantImageArray[indexPath.row] ,restaurantNameArray[indexPath.row] , data)
    }
}

这是我的 ResturantFile.plist

最佳答案

在 RestaurantViewController 中,您需要像这样使用选定的餐厅名称添加过滤器(将“selectedRestroName”替换为来自先前 Controller 的选定餐厅名称):

let pathUrl = Bundle.main.path(forResource: "ResturantFile", ofType: ".plist") print("path url is",pathUrl) 
let finalArray = NSMutableArray(contentsOfFile: pathUrl!) 
///finalArray is plish Data array, and "selectedRestroName" is the selected restaurant which is you passing from closure
    let selectedDict = finalArray.filter { (object) -> Bool in
        (object.keys).contains(where: {$0 == "selectedRestroName"})
    }.first

    let finalArraaOfSelectedRestorentData = Array(selectedDict!.values)

或者

let finalArraaOfSelectedRestorentData = selectedDict["selectedRestroName"]

关于ios - 访问数组元素并将其与所选数据的单元格匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50247805/

相关文章:

iphone - 我可以为 iCloud 添加不备份 "Document Directory"吗

iphone - 我的 Default.png 使用什么样的图像?我正在使用 iPhone 5's native resolution WITH the status bar, but it won' t 工作

ios - 我可以从数组中的第二个元素开始填充我的表格 View 吗? ( swift )

ios - 在 Realm 数据库中查询

ios - 在 iOS 的 Health Kit App 中显示月经详情

swift - 使用 AVAudioPCMBuffer 的 AVAudioPlayerNode - 没有音频播放

ios - UIViewController 中的 tableHeaderView

ios - 如何使用 JSONEncoder 对嵌套数组进行编码

swift - 如何通知一个目标的获取结果 Controller 另一目标的托管对象上下文中发生的更改?

ios - 如何像 Apple Map 应用程序一样获取 MapKit 位置的卫星图像?