#swift #xcode #viewcontroller
#swift #xcode #viewcontroller
Вопрос:
Я пытаюсь добавить представление коллекции к моему пользовательскому контроллеру просмотра под названием «cardsViewController». Когда я запускаю сборку, я получаю ошибку [UIViewController CollectionView:numberOfItemsInSection:]: нераспознанный селектор, отправленный в экземпляр
Я подключил источник данных представления коллекции и делегировал его контроллеру представления в раскадровке и добавил «UICollectionViewDataSource, UICollectionViewDelegate» после имени класса в коде. Я также подключил контроллер представления в раскадровке к коду, добавив «CardsViewController» (то же имя, что и файл кода) в поле пользовательского класса контроллера представления.
import UIKit
class CardsViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 4
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
var cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)
return cell
}
}
Я хочу, чтобы xcode распознал, что файл кода контроллера представления отвечает за управление представлением коллекции.
Ответ №1:
Обычно это происходит, когда вы устанавливаете неправильный контроллер представления в interface builder. Убедитесь, что Custom Class
в Identity Inspector
точно совпадает с именем класса вашего контроллера просмотра ( CardsViewController
).
Комментарии:
1. Привет, спасибо за ваш ответ. Убедитесь, что пользовательский класс в инспекторе идентификации what должен соответствовать имени класса view controller?
2. Это потому, что необходимо проверить «Наследовать модуль от цели». Имя моего класса было правильным.