Тип «Категория» не соответствует протоколу «Последовательность» - PullRequest
1 голос
/ 07 июля 2019

Я пытаюсь передать 2 значения свойств из другого контроллера представления с помощью функции протокола, чтобы добавить объект (Book) к значению Dictionary в массиве словарей [категорий], которые я создал в главном. .

Объект Category имеет конструктор со словарем: имя ключа: String и значение: [Books]

Когда я пытаюсь сделать это с помощью функции протокола, появляется ошибка, когда я работаю со словарем для «Типа» Категория не соответствует протоколу «Последовательность»

Я действительно понятия не имею, что делать. Я так новичок в этом, ПОЖАЛУЙСТА, ПОМОГИТЕ! Спасибо!

// protocol to add new book
    protocol AddBookDelegate {
        func addNewBook(name: String, book: Book)
    }

// mainViewController + categories array + protocol func

class BooksTableViewController: UITableViewController, StockQuantityDelegate, AddBookDelegate{

    // categories array
    var todasLasCategorias: [Category] = []

    // protocol func to add a book
    func addNewBook(name: String, book: Book) {
            for eachCategory in todasLasCategorias{
                for (myKey, myValue) in eachCategory{
                    if myKey == name{
                        myValue.append(book)
                    }
                }
            }
        }

//Category declaration
class Category {
    private var name: String
    var books: [Book]?

    init(name:String){
        self.name = name
    }

    init(with dictionary: [String: AnyObject]){
        self.name = dictionary["name"] as? String ?? "no name"
        self.books = []
        if let apendeoLibros = dictionary["books"] as? [[String: AnyObject]]{
            for objectSelected in apendeoLibros{
                let newBook = Book(with: objectSelected)
                books?.append(newBook)
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...