0

ユーザーがカナダのボタンに触れると、カナダの州 (アルバータ州、ブリティッシュ コロンビア州など) が表示されるように、ポップオーバー テーブルビュー コードを再利用しようとしています。ユーザーが USA ボタンに触れると、米国の州 (アラバマ、アラスカなど) が表示されます。問題は、カナダ ボタンの後に 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それにもかかわらず、私の目を引いた 1 つのことは、このコード スニペットのどこも空にしていないようだということです。

基本的に、新しいデータをコピーする前に、データがあるかどうかを確認してください。その場合は、古いデータを削除し、新しいデータをコピーしてください。

于 2012-01-18T12:43:18.580 に答える