Uitableview 核心数据-保存选定的tableview行

Uitableview 核心数据-保存选定的tableview行,uitableview,core-data,ios7,Uitableview,Core Data,Ios7,我不熟悉iOS编程,请原谅我的无能 我正试图找到一种解决方案来保存tableview中的选定行,该表从包含所有歌曲名称且没有关系的Songlist实体(另一个名为Song的实体)获取数据 我已经搜索了这个网站和谷歌,尝试了很多我发现的东西,但我仍然无法自己解决这个问题 我设法将歌曲保存到Song实体,但目前的问题是,歌曲是在用户选择单元格时保存的,但我希望在用户按下“保存”按钮时保存选定的行 正如你可能看到的,歌曲实体之间有着某种联系——它被称为songConcert SongList实体有两个

我不熟悉iOS编程,请原谅我的无能

我正试图找到一种解决方案来保存tableview中的选定行,该表从包含所有歌曲名称且没有关系的Songlist实体(另一个名为Song的实体)获取数据

我已经搜索了这个网站和谷歌,尝试了很多我发现的东西,但我仍然无法自己解决这个问题

我设法将歌曲保存到Song实体,但目前的问题是,歌曲是在用户选择单元格时保存的,但我希望在用户按下“保存”按钮时保存选定的行

正如你可能看到的,歌曲实体之间有着某种联系——它被称为songConcert

SongList实体有两个属性:songName和albumName; Song实体有3个属性:songName、albumName和Songs与Concert实体的关系

以下是我的SongsTableViewController中的代码,用户在其中选择行:

- (void)tableView:(UITableView *)theTableView didSelectRowAtIndexPath:(NSIndexPath *)newIndexPath {

[theTableView deselectRowAtIndexPath:[theTableView indexPathForSelectedRow] animated:NO];

UITableViewCell *cell = [theTableView cellForRowAtIndexPath:newIndexPath];

if (cell.accessoryType == UITableViewCellAccessoryNone) {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;



    // Reflect selection in data model

    Song *newSong = [NSEntityDescription insertNewObjectForEntityForName:@"Song" inManagedObjectContext:[self managedObjectContext]];
    addSong = newSong;
    newSong.songName = cell.textLabel.text;
    newSong.albumName = cell.detailTextLabel.text;
    addSong.songConcert = songsConcert;


} else if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
    cell.accessoryType = UITableViewCellAccessoryNone;
    // Reflect deselection in data model

}
}


}

您正在使用表视图中的insertNewObjectForEntityForName:方法:didSelectRowatineXpath:方法。。。当用户点击该行或在索引路径中选择行时,将执行此方法。您可能考虑的是如何为每个选定行积累数据,并将积累的数据包括在用户点击“保存”按钮时触发的方法中,例如-IBActionsave:UIBarButtonim*sender。。。如果你还需要帮助,请告诉我。嗨,谢谢你的提示。实际上,我曾尝试使用NSMutableArray来存储选定的项目,但我想可能是做错了什么。周末后我在这里发布代码,这样你就可以检查我做错了什么。给新玩家的提示。。。别忘了初始化NSMutableArray!作为编程和Objective-C的新手,我经常忘记这个任务。例如:@property非原子,强NSMutableArray*mutArray;然后NSMutableArray*mutArray=[[NSMutableArray alloc]init];-尽管本页中缺少便利方法initWithArray,也请参阅。错误记录。可能就是这样,我没有初始化我的NSMutable数组:我会再试一次,让你知道它是如何运行的。非常感谢-我发现了-现在一切都按预期工作
- (IBAction)save:(UIBarButtonItem *)sender {



   NSError *error = nil;
if ([self.managedObjectContext hasChanges]) {
    if (![self.managedObjectContext save:&error]) { //save failed
        NSLog(@"Save Failed: %@", [error localizedDescription]);
    } else {
        NSLog(@"Save Succseeded");
    }

}

[self dismissViewControllerAnimated:YES completion:nil];