cocos2dx: проблема при возврате нескольких numberOfCellsInTableView в CCTableViwe?

Я создаю более одной таблицы в cocos2dx, используя CCTableView. Когда я определяю метод DataSource «numberOfCellsInTableView», я хочу возвращать разные значения для разных таблиц.

поэтому я использовал оператор if-control.

но кажется, что я не могу проверить состояние должным образом.

код в методе inti моего класса CCLayer выглядит следующим образом:

    CCLOG("init debug 10 %d",characterImageNameArray->count());

numberOfRowsIncharacterTable = characterImageNameArray->count();

this->characterTable = cocos2d::extension::CCTableView::create(this,cocos2d::CCSizeMake((winSize.width/6.0)-20, winSize.height-720.0));

ОТДЫХ ОПРЕДЕЛЕНИЯ КАК СЛЕДУЕТ ЗА: —

unsigned int  numberOfCellsInTableView (cocos2d::extension::CCTableView * table)
{
CCLOG("init debug 11 ");
int rVal = 0;
if (table==this->characterTable) {
CCLOG("init debug 11a ");
rVal = this->characterImageNameArray->count();
}
CCLOG("init debug 12 rVal %d",rVal);
return rVal;
}

Ниже приведен журнал отладки консоли:

Cocos2d: init debug 9
Cocos2d: init debug 10 6
Cocos2d: init debug 11
Cocos2d: init debug 12 rVal 0
Cocos2d: init debug 11
Cocos2d: init debug 12 rVal 0
Cocos2d: init debug 11
Cocos2d: init debug 12 rVal 0

Я не понимаю, что пошло не так?

0

Решение

Я также представляю различные табличные представления в моей сцене, и я придерживаюсь другого подхода.

я создаю TableView* my_table_01 = Table_creation....
Тогда я использую TAG_TABLE_01 как my_table_01->setTag(TAG_TABLE_01); и так далее для других таблиц, меняя TAG.

Когда в numberOfCellsInTableView я определяю количество ячеек, проверяющих TAG таблицы, следующим образом:

if (table->getTag() == ....) return number_cells_for_this_table;

Вы также можете использовать тот же подход для размера ячейки и иметь несколько табличных представлений.

1

Другие решения


По вопросам рекламы [email protected]