我在我的核心數據實體上設置了一個1對多關係。我正試圖顯示關聯數據的detailview副本。目前我有與原始實體(例程)一起工作的prepareforseague:方法,但是我對如何顯示鏈接實體(RoutinesDetails)感到迷茫。核心數據詳細信息查看關係
FBCDRoutineViewController
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// Fetch the devices from persistent data store
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Routines"];
self.routines = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
[self.tableView reloadData];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"UpdateDevice"]) {
NSManagedObject *selectedDevice = [self.routines objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];
FBCDRoutineViewController *destViewController = segue.destinationViewController;
destViewController.routines = selectedDevice;
}
FBCDRoutineDetailViewController
- (NSManagedObjectContext *)managedObjectContext {
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)]) {
context = [delegate managedObjectContext];
}
return context;
}
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// Fetch the devices from persistent data store
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"RoutinesDetails"];
self.routines = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
}
- (void)viewDidLoad
{
[[self navigationController] setNavigationBarHidden:NO animated:YES];
[super viewDidLoad];
// Do any additional setup after loading the view.
if (self.routines) {
[self.testLabel setText:[self.routines valueForKey:@"routinename"]];
}
}
FBCDRoutineDetailViewController
@property (strong) NSManagedObject *routines;
這是我第一次使用核心數據,我正在研究如何顯示Details實體。我接近完成它的工作?如果沒有,我可以指示我應該看的東西。
有什麼建議嗎?
所以我現在需要做的就是建立表格視圖?將使用NSfetchedResultscontroller是一個更好的選擇? – Sgillon
@ user2221799:NSFetchedResultsController的優點在於,它具有在插入,刪除或修改對象時自動更新表視圖的方法。如果你不需要,你可以執行獲取請求並在表格視圖中顯示'self.routineDetails'數組。 –
我確實認爲我更喜歡使用NSFetchResultsController。涉及公平的一點或重寫不是嗎?對不起,所有問題 – Sgillon