Извините, если я задаю глупые вопросы, но я новичок в Swift. Я создаю приложение, и пока все идет хорошо. Но теперь я хочу удалить некоторые строки из моего табличного представления, которые получают из массива со строками. И затем я хочу сохранить / извлечь это, используя основные данные. Я считаю, что у меня есть код для этого, но проблема в том, что я пытаюсь сохранить массив, полный строк. поэтому я получаю сообщение об ошибке: «Невозможно преобразовать значение типа« Строка »в ожидаемый тип аргумента« NSManagedObject ». И поэтому мне интересно, как я могу решить это? Есть ли способ как-нибудь добавить эти строки в NSManagedObject?
Вот мой код:
массив: ![enter image description here](https://i.stack.imgur.com/fQyeE.png)
и вот код:
import UIKit
import CoreData
class tableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return (List.count)
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
cell.textLabel?.text = List.self[indexPath.row]
cell.textLabel?.textColor = UIColor.white
cell.backgroundColor = UIColor.clear
return(cell)
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
if editingStyle == .delete{
let rows = List[indexPath.row]
context.delete(rows)
(UIApplication.shared.delegate as! AppDelegate).saveContext()
do{
List = try context.fetch(MealsMenu.fetchRequest()) as! [String]
}
catch{
print(error)
}
}
myTableView.reloadData()
}
@IBOutlet weak var myTableView: UITableView!
override func viewDidAppear(_ animated: Bool) {
myTableView.reloadData()
}
override func viewDidLoad() {
super.viewDidLoad()
CoredataClass.saveItems()
CoredataClass.loadData()
}
}