我想要的是,如果用户点击一个按钮,这些tableCell应该添加到一个新的tableView(你可以看到你的收藏夹)。
我有一个班级Car
,其中合成了汽车的内容:
#import "Car.h"
@implementation Car
@synthesize name;
@synthesize speed;
@synthesize selected;
@end
CarsViewController
包含一个tableView,您可以在其中找到每辆车:
@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
有了收藏夹按钮。
如果你点击它,这些汽车的单元格应该添加到一个新的ViewController(使用TableView)。
但是我应该在CarDetailViewController
的方法中添加什么?
- (IBAction)setFAV:(id)sender {
// don't know what to write here
}
提前感谢您的所有答案。
更新
所以这里有一张小图片,展示了它应该如何运作。
答案 0 :(得分:0)
在这个方法中你需要一个包含所有选定汽车的数组,你需要将这个数组传递给newView控制器你用这个数组来显示最喜欢的汽车
答案 1 :(得分:0)
使您的汽车数组成为NSMutableArray或使用您喜爱的所有汽车创建新的NSMutableArray,如果用户单击该按钮,则向该阵列添加新对象。 然后,此数组应该是tableview的数据源,并在向NSMutableArray添加新对象后执行
[tableview reloadData];
答案 2 :(得分:0)
您的Car
课程可能有BOOL isFavorite;
,然后在第一个tableView
的选择中,您可以在选定为{的索引处设置汽车的isFavorite
属性{1}}。然后,在您最喜欢的表格视图中,一个选项是仅显示列表中包含YES
的车辆。
答案 3 :(得分:0)
有很多方法可以做到这一点,而且由于您没有指定何时何地使用收藏夹表视图,因此可能适用于您的一种解决方案是使用NSUserDefaults。
当用户点击收藏夹按钮时(假设您已经创建并初始化了一个数组)
[favoritesArray addObject:Car1];
[[NSUserDefaults standardUserDefaults] setObject:favoritesArray forKey:@"favoriteCars"];
然后当您需要访问此数组以用作另一个视图控制器中的收藏夹TableView的数据源时:
NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"favoriteCars"]];