gpt4 book ai didi

ios - 如何知道详细表格 View 的原始单元格索引?

转载 作者:可可西里 更新时间:2023-11-01 02:15:32 25 4
gpt4 key购买 nike

我实现了搜索栏。当我只搜索食物时它工作正常。但是当我尝试从搜索结果中编辑食物时,它只会更改搜索结果数组 (foodSearching) 而不会更改原始数组 (foods)。所以当我编辑表格 View 时,我需要知道原始数组(食物)的索引路径。有什么帮助吗?

selectedIndexPath 对于“foodSearching”数组(显示搜索结果的临时数组)和“foods”数组(保存所有数据的原始数组)是不同的

@IBAction func unwindToFoodList(sender: UIStoryboardSegue) {
if let sourceViewController = sender.sourceViewController as? FoodViewController, food = sourceViewController.food {
if let selectedIndexPath = tableView.indexPathForSelectedRow {
// Update an existing food.
if(isSearching){
foodSearching[selectedIndexPath.row] = food

// foodSearching array is temporary..
//need to find indexpath for foods array(original array)and update it as well...!!

tableView.reloadRowsAtIndexPaths([selectedIndexPath], withRowAnimation: .None)

}else{
foods[selectedIndexPath.row] = food
tableView.reloadRowsAtIndexPaths([selectedIndexPath], withRowAnimation: .None)
}

} else {
// Add a new food.
let newIndexPath = NSIndexPath(forRow: foods.count, inSection: 0)
foods.append(food)
tableView.insertRowsAtIndexPaths([newIndexPath], withRowAnimation: .Bottom)
}
// Save the foods.
saveFoods()
}
}

最佳答案

我建议不要使用 indexPath 作为对数据的引用,因为 indexPath 可以更改。如果您使用的是 Core Data,我建议您使用 objectID,但如果您不使用,我建议您使用任何其他唯一可识别的信息并将其用作引用。创建以下辅助函数可以帮助您实现:

func indexPath(forFoodWithID uniqueID: IDType) -> NSIndexPath?
func foodID(forFoodAtIndexPath indexPath: NSIndexPath) -> IDType?

希望对您有所帮助。

关于ios - 如何知道详细表格 View 的原始单元格索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38963471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com