Popover tableview с данными динамического массива - PullRequest
0 голосов
/ 13 января 2012

Я пытаюсь повторно использовать код представления таблицы popover, чтобы при нажатии пользователем кнопки «Канада» отображались провинции Канады (Альберта, Британская Колумбия, ...); когда пользователь касается кнопки США, отображаются штаты США (Алабама, Аляска, ...). Проблема в том, что когда я нажимаю кнопку «США» после кнопки «Канада», первые 12 штатов США не отображаются в 13 провинциях / территориях Канады, которые по-прежнему отображаются.

Я следую за кодом здесь

http://www.raywenderlich.com/1056/ipad-for-iphone-developers-101-uipopovercontroller-tutorial

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

- (IBAction)setColorButtonTapped:(id)sender withData:(NSArray *) data {
    if (_colorPicker == nil) {
        self.colorPicker = [[[ColorPickerController alloc] 
                             initWithStyle:UITableViewStylePlain] autorelease];
        _colorPicker.delegate = self;
        self.colorPickerPopover = [[[UIPopoverController alloc] 
                                    initWithContentViewController:_colorPicker] autorelease];               
    }
    [self.colorPickerPopover presentPopoverFromBarButtonItem:sender 
                                    permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
_colorPicker.tableList = [data copy];
// I defined a property NSMutableArray *tableList
// I think the problem is with the way I copy the data  }

Извините за кодирование.

Заранее спасибо за помощь.

Джо

1 Ответ

0 голосов
/ 18 января 2012

Джо, я полагаю, многие скажут тебе быть более конкретным. Тем не менее, одна вещь, которая привлекла мое внимание, это то, что вы, кажется, не опустошаете свой .tableList где-нибудь в этом фрагменте кода.

По сути, попробуйте проверить, есть ли в нем данные или нет, прежде чем копировать в них новые. Если это так, удалите старые данные и скопируйте новые.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...