Я новичок в разработке на мобильном мире, и у меня есть архитектурный вопрос для моего проекта:MVC: Где разместить пользовательские UICollectionCell
, где это правильное место для настроенного UICollectionViewCell?
Инстинктивно я бы разместил его под (V) iew.
редактировать
Я хотел бы использовать его таким образом:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
var customCell: CustomCell = collectionView.dequeueReusableCellWithReuseIdentifier(CustomCell.identifier, forIndexPath: indexPath) as! CustomCell
customCell.setupWithSomeOtherObject(..)
return customCell;
}
это зависит, на самом деле ...если ячейки ничего не делают с уровнем _model_, и он заполняется другим классом из слоя _controller_, чтобы показывать только значения, тогда он находится на уровне _view_. если ваша ячейка напрямую подключается к слою _model_ и вносит изменения в это напрямую, это будет более вероятно на уровне _controller_ then, но в основном «... ViewCell» должен быть явно только на уровне _view_. – holex
@holex, true. Другой вопрос: правильно ли изменить * model * непосредственно в ячейке. –
@flashadvanced, а не хорошая практика, потому что, если уровень _model_ обновляется (по какой-либо причине), слой _view_ не должен затрагиваться вообще , если вы единственный человек, который работает над проектом, вы можете перестроить его относительно быстро, но когда вы работаете в команде, а ваша работа управляет слоем _view_, а работа вашего товарища по команде - это слой _model_; вы не хотели бы получать дополнительную работу (пока вы не хотели бы давать дополнительную работу кому-либо) после простого обновления любого уровня, который не должен быть подключен напрямую. это опыт и скромное мнение. :) – holex