У меня есть следующие отношения между моими сущностями. Создайте отношения между различными ViewControllers
У меня есть 2 ViewControllers. 1 Где вы добавляете плейлист и 1, где вы добавляете песню. Мой вопрос в том, как может песня ViewController узнать, какой плейлист ей нужен, чтобы связать песню и создать связь с этим точным плейлистом?
PlaylistViewController.m (Это где я сохранить свои плейлисты)
-(void)saveTap:(id)sender{
Playlists *newManagedObject = (Playlists*)[NSEntityDescription insertNewObjectForEntityForName:@"Playlists" inManagedObjectContext:_managedObjectContext];
[newManagedObject setValue:self.textfield.text forKey:@"playlistName"];
// Save the context.
NSError *error = nil;
if (![_managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[self fetchDevices];
}
SongsViewController.m (Это где песни сохраняется)
-(IBAction)songsDone:(id)sender{
AppDelegate *appDelegate =
[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context =
[appDelegate managedObjectContext];
NSManagedObject *newManagedObject;
newManagedObject = [NSEntityDescription
insertNewObjectForEntityForName:@"Songs"
inManagedObjectContext:context];
NSDate *today= [NSDate date];
[newManagedObject setValue:video.author forKey:@"author"];
[newManagedObject setValue:video.videoid forKey:@"link"];
[newManagedObject setValue:video.title forKey:@"songName"];
[newManagedObject setValue:today forKey:@"created"];
// Save the context.
NSError *error = nil;
if (![_managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
Song.h (Entity)
@class Playlists;
@interface Songs : NSManagedObject
@property (nonatomic, retain) NSString * author;
@property (nonatomic, retain) NSDate * created;
@property (nonatomic, retain) NSString * link;
@property (nonatomic, retain) NSString * songName;
@property (nonatomic, retain) NSSet *songs;
@end
@interface Songs (CoreDataGeneratedAccessors)
- (void)addSongsObject:(Playlists *)value;
- (void)removeSongsObject:(Playlists *)value;
- (void)addSongs:(NSSet *)values;
- (void)removeSongs:(NSSet *)values;
@end
Плейлисты.m (Организация)
@class Songs;
@interface Playlists : NSManagedObject
@property (nonatomic, retain) NSString * playlistName;
@property (nonatomic, retain) NSSet *list;
@end
@interface Playlists (CoreDataGeneratedAccessors)
- (void)addListObject:(Songs *)value;
- (void)removeListObject:(Songs *)value;
- (void)addList:(NSSet *)values;
- (void)removeList:(NSSet *)values;
@end
Возможный дубликат [Передача данных между контроллерами просмотра] (http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) –
Я не спрашиваю, как передавать данные между контроллерами представлений. Я спрашиваю, как я собираюсь связать песню с плейлистом, не имея идентификатора автоматического инкремента, как в SQL, используя отношения. – user3195388