带有动态数组数据的Popover tableview

时间:2012-01-13 06:03:45

标签: copy nsarray mutable popover

我正在尝试重复使用popover tableview代码,以便当用户触摸加拿大按钮时,显示加拿大的省份(Alberta,British Columbia,...);当用户触摸美国按钮时,显示美国(阿拉巴马州,阿拉斯加州,...)的州。问题是当我按下加拿大按钮后按下美国按钮时,仍然显示加拿大的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  }

对于代码的填充感到抱歉。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

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