Как добавить два (или более) tableViewCells вместе, чтобы сделать «общий»

this в Javascript всегда ссылается на «владельца» выполняемой функции.

Если явный владелец не определен, то ссылается на самый верхний владелец - объект окна.

Итак, если бы я сделал

function someKindOfFunction() {
   this.style = 'foo';
}

element.onclick = someKindOfFunction;

this, он ссылался бы на объект элемента. Но будьте осторожны, многие люди делают эту ошибку

<element onclick="someKindOfFunction()">

В последнем случае вы просто ссылаетесь на функцию, а не передаете ее элементу. Поэтому this будет ссылаться на объект окна.

0
задан TsGDev 13 July 2018 в 16:35
поделиться

1 ответ

То, что вы пытаетесь сделать, немного необычно. В мире Model-View-Controller я бы ожидал, что список цен, который вы пытаетесь добавить, будет Model. Если бы вы делали какие-либо расчеты по этим ценам, вы бы сделали это как часть модели. Модель будет знать, сколько цен она хранит, и будет знать, как их добавить.

TableView просто будет средством размещения значений из модели на экране. Вы бы создали столько табличных представлений, сколько пожелаете ваши модели, и все части «View» из триады MVC будут показывать их, вы фактически не будете выполнять вычисления значений в этих ячейках, они предназначены только для отображения.

Я рекомендую вам больше узнать о шаблоне MVC и лучше понять роль TableView. Вы можете начать с описания Apple:

https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html

Когда вы нажмете на эту ссылку, она сообщит вам, что эта страница документации устарела. Ничего страшного. Прочтите это в любом случае. Поиск в Google MVC или Model View Controller обеспечит богатые коллекции ссылок, которые помогут вам понять шаблон и, надеюсь, вашу проблему и решение.

1
ответ дан Scott Thompson 17 August 2018 в 12:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: