3
私はEntity FOODを持ち、UItableViewで表示される配列fruit = ["Apple", "Orange", "Pear", "Kiwi"]
を持っています。いくつかのコンテンツを削除不能にする方法はありますか?たとえば、"Kiwi"
を削除できないようにすることはできますか?UITableView [Swift 3.0 - Xcode 8]で一部の行だけを削除できるようにする
何かのように、 let i = fruit.index(where: "Kiwi") let IArr = [0...fruit.count] IArr = IArr.filter{$0 != i}
//はindexPath
が配列型を取ることができないので、
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IArr) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
if editingStyle == .delete{
let FRUIT = fruit[indexPath.row]
context.delete(FRUIT)
appDelegate.saveContext()
do {
fruit = try context.fetch(FOOD.fetchRequest())
}
catch
{
print("did not fetch")}
}
tableView.reloadData()}
はしかし、これは動作しませんキウイ
のインデックスを削除します。 どうすればいいですか?
。果物がキウイであるときに削除アクションを単に禁止することができます: 'let FRUIT = fruit [indexPath.row]; editStyle == .delete && FRUIT!= "Kiwi" {/ * delete * /} ' –
これは簡単な答えです!ありがとうございました! –
あなたは答えに何かを投稿することができますか? –