Ich habe eine App für iPhone mit einem Tableview, dessen Daten von CoreData stammen.Wie kann ich die Daten in einer WatchKit-Tabellenansicht erneut laden?
Wenn ich eine Zeile aus dem iPhone-App hinzufügen:
und ich
die gleichen Daten werden auch in einer Uhr App angezeigt Laden Sie Daten in der Watch-App neu:
Ich sehe die alten Reihen leer! richtig
Wenn die die App Stoppuhr und ich beginne es wieder, erscheint alles!
Dies ist der Code der Tableview in der Uhr App
-(void)awakeWithContext:(id)context{
[super awakeWithContext:context];
[self loadTable];
}
-(void)loadTable{
NSLog(@"loadTableData");
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Data"];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Data"
inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortByDate = [[NSSortDescriptor alloc] initWithKey:@"sortedDateAndTime" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortByDate, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
self.watchMArray = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
// [self.watchTableView setRowTypes:self.watchMArray];
[self.watchTableView setNumberOfRows:self.watchMArray.count withRowType:@"data"];
for (NSInteger i = 0; i < self.watchMArray.count; i++)
{
WatchTableCell *cell = [self.watchTableView rowControllerAtIndex:i];
NSManagedObject *data = [self.watchMArray objectAtIndex:i];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
//Background Thread
UIImage *foto =[self loadImageFromData:[data valueForKey:@"imageData"]];
dispatch_async(dispatch_get_main_queue(), ^(void){
//Run UI Updates
[cell.watchImage setImage:foto];
[cell.watchDate setText:[NSString stringWithFormat:@"%@", [data valueForKey:@"dataEOra"] ]];
});
});
}
}
Dies ist der Code, den ich es neu zu laden verwenden bin derzeit zu besetzen:
- (IBAction)reloadTable {
[self loadTable];
}
Wo bin ich falsch?
Schwer zu sagen. Ich würde diesen Code in LLDB durchgehen wollen, was sicherlich nützlich wäre. –
seit WatchOS2.0 veröffentlicht, kann ich wissen, wie Sie es schaffen, die gleiche Sache (Coredata über iOS und WatchOS Datenkonsistenz) jetzt zu tun? –
Mit watchOS 2 Coredata ist ein großes Problem !! – Ragazzetto