0

我想要的是,如果用户点击一个按钮,这些 tableCell 应该被添加到一个新的 tableView (在那里你可以看到你的收藏夹)。

我有一门Car综合汽车内容的课程:

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

@end

包含一个 tableView,您可以在CarsViewController其中找到每辆车:

@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    
}

提前感谢您的所有回答。

更新

所以这里有一张小图,它显示了它应该如何工作。 在此处输入图像描述

4

4 回答 4

0

有很多方法可以做到这一点,并且由于您没有指定何时何地使用您的收藏夹表视图,一个可能对您有用的解决方案是使用 NSUserDefaults。

当用户点击最喜欢的按钮时(假设您已经创建并初始化了一个数组)

[favoritesArray addObject:Car1];

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

然后当您需要访问此数组以用作另一个视图控制器中收藏夹 TableView 的数据源时:

NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"favoriteCars"]];
于 2013-07-23T18:04:22.823 回答
0

您的Car班级可能有一个BOOL isFavorite;,然后在第一个选择中,tableView您可以将isFavorite所选索引处的汽车属性设置为YES。然后,在您最喜欢的表格视图中,一个选项是仅显示列表中具有isFavorite = YES.

于 2013-07-23T15:12:32.557 回答
0

在这种方法中,您需要一个包含所有选定汽车的数组,并且您需要将此数组传递给 newView 控制器,您使用此数组来显示最喜欢的汽车

于 2013-07-23T13:46:37.550 回答
0

将您的汽车数组设为 NSMutableArray 或使用所有您喜欢的汽车创建一个新的 NSMutableArray,如果用户单击按钮,则向该数组添加一个新对象。然后,这个数组应该是你的 tableview 的数据源,在向 NSMutableArray 添加一个新对象之后做

[tableview reloadData];
于 2013-07-23T13:49:33.110 回答