0

我正在尝试重用 popover tableview 代码,以便当用户触摸加拿大按钮时,显示加拿大各省(阿尔伯塔省、不列颠哥伦比亚省......);当用户触摸 USA 按钮时,会显示美国的州(阿拉巴马州、阿拉斯加州...)。问题是当我在加拿大按钮之后点击美国按钮时,加拿大的 13 个省/地区仍然显示美国的前 12 个州。

我在这里关注代码

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  }

对不起,代码的格式。

提前感谢您的帮助。

4

1 回答 1

0

乔,我猜很多人会告诉你更具体一点。尽管如此,引起我注意的一件事是您似乎没有清空.tableList此代码段的任何位置。

基本上,在将新数据复制到其中之前,请尝试检查它是否有数据。如果是,请删除旧数据并复制新数据。

于 2012-01-18T12:43:18.580 回答