通过点击一个button添加一个tableViewCell到一个新的TableView

我想,如果用户点击一个button,这些tableCell应该被添加到一个新的tableView(你可以看到你的collections夹)。

我有一个类的CarCar的内容是合成的:

 #import "Car.h" @implementation Car @synthesize name; @synthesize speed; @synthesize selected; @end 

CarsViewController包含一个tableView,你可以find每辆车:

 @implementation CarsViewController { NSArray *cars; } @synthesize tableView = _tableView; - (void)viewDidLoad { Car *car1 = [Car new]; car1.name = @"A1"; car1.speed = @"200 km/h"; car1.selected = FALSE; Car *car2 = [Car new]; car2.name = @"A2"; car2.speed = @"220 km/h"; car2.selected = FALSE; cars = [NSArray arrayWithObjects:car1, car2, nil]; } 

最后CarDetailViewController有最喜欢的button。 如果你点击它,这些车的单元应该被添加到一个新的ViewController(带有TableView)。 但是,我应该添加到CarDetailViewController的方法?

 - (IBAction)setFAV:(id)sender { // don't know what to write here } 

在此先感谢您的答案。

UPDATE

所以这里有一张图片显示了它应该如何工作。 在这里输入图像说明

在这个方法中,你需要一个数组来保存所有select的汽车,并且你需要把这个数组传递给newView控制器。

使你的汽车数组成为一个NSMutableArray或创build一个新的NSMutableArray所有你最喜欢的汽车,如果用户点击button,添加一个新的对象到该数组。 然后,这个数组应该是你的tableview的数据源,并添加一个新的对象到NSMutableArray做

 [tableview reloadData]; 

你的Car类可以有一个BOOL isFavorite; 然后在第一个tableViewselect,您可以在select的索引为YES将汽车的isFavorite属性设置为YES 。 然后,在您最喜欢的表格视图中,一个选项是只显示列表中拥有isFavorite = YES

有很多方法可以做到这一点,既然您没有指定何时何地使用collections夹表视图,一个可能适用于您的解决scheme是使用NSUserDefaults。

当用户点击collectionsbutton(假设你已经创build并初始化一个数组)

 [favoritesArray addObject:Car1]; [[NSUserDefaults standardUserDefaults] setObject:favoritesArray forKey:@"favoriteCars"]; 

然后当你需要访问这个数组作为另一个视图控制器中的collections夹TableView的数据源时:

 NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"favoriteCars"]];