我目前正在制作食物日记应用,您可以在桌面视图中添加食物。我需要知道如何检查是否有相同的食品项目的表视图单元格。我会发布我尝试过但我完全无能为力,不知道从哪里开始!
答案 0 :(得分:0)
您可以创建一类食物对象:
class Food {
let foodName : String
init(foodName : String) {
self.foodName = foodName
}
}
并在此类中创建一个函数,该函数将Food类的这个对象与一个Food对象数组进行比较,以查看是否存在此类食物的重复项。您可以花费这个类来满足您的需求,但我将举一个函数示例来检查数组中是否有类似的Food Objects传递:
// Function that takes an array of Food objects and returns an array of Integers which represent indexes of Food Objects in the passed array which are equal
// To self.Food
func identitalFoodObjects(foodArray : [Food]) -> [Int] {
// Create the response array
var res : [Int] = []
// Check if the items in the Food array are equal to self.foodName
for index in 0...foodArray.count-1 {
if (self.foodName == foodArray[index].foodName) {
res.append(index)
}
}
// Return the index array
return res
}
现在我们有一个Class来表示Food对象,以及一个方法来检查是否有相同的Food Objects(显然将这个方法放在你的类中)。
现在我们构建一个带有按钮的UITableViewController来创建新项目。在链接到UITableViewController的类中创建一个食物项目数组,每当按下添加按钮以向食物对象数组添加新的食物对象时,我们可以通过调用类方法检查此对象的其他实例是否已经存在我们刚刚在按钮的didTouchDown方法中创建。