核心数据更改的撤消操作名称

| 我正在寻找一种内置(或易于实现)的方法来获取Core Data撤消/重做操作名称,使其读为\“ Undo edit First Name \”,而不是简单的\“ Undo \”或\默认情况下为“重做\”。 我有一个Core Data应用程序,并且正在使用其“ 0”作为窗口的撤消管理器。效果很好,但是当用户更改字段(从ѭ1到内联)时,“撤消”菜单项的标题不会反映出更改了哪个字段。 最初的搜索使我想到了2007年1月发布在Apple Mailing Lists上的相同问题。曾经发布的唯一答案是“核心数据编程指南”中的“搜索\'Model.strings \”。\“我没有我的模型的一个Strings文件,所以我创建了一个(在我的en.lproj目录中本地化并使用UTF-16编码),但这没什么区别。 我遵循了Apple教程中的说明(由于我的应用程序不是基于文档的,因此略作修改)和Core Data文档,但是菜单标题仍然显示为“撤消”和“重做”。     
已邀请:
在您的NSManagedObject子类中添加
-(void)setValue:(id)value forKey:(NSString *)key
{
    NSUndoManager * aUM = [[self managedObjectContext] undoManager];
    [super setValue:value forKey:key];
    if ([aUM isUndoRegistrationEnabled])
        [aUM setActionName:NSLocalizedString(key,nil)];
}
    

要回复问题请先登录注册