目标C语言 撤消核心数据更改的操作名称



我正在寻找一个内置(或易于实现)的方式来获得核心数据撤消/重做动作名称读起来像"撤消编辑的名字",而不是简单的"撤消"或"重做",因为他们默认情况下。

我有一个核心数据应用程序,并使用其NSUndoManager作为我的窗口的撤消管理器。它工作得很好,但是当用户更改字段(从NSTableView内联)时,Undo菜单项的标题不反映更改了哪个字段。

最初的搜索让我找到了2007年1月发布在苹果邮件列表上的同一个问题。唯一发布的答案是"搜索'模型'。核心数据编程指南中的字符串。我没有一个字符串文件为我的模型,所以我创建了一个(本地化在我的en。

我遵循了苹果的教程(因为我的应用程序不是基于文档的)和Core Data文档的说明,但我的菜单标题仍然是"撤销"one_answers"重做"。

在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)];
}

相关内容

  • 没有找到相关文章

最新更新