gpt4 book ai didi

objective-c - NSPredicateEditorRowTemplate,用空格指定关键路径?

转载 作者:搜寻专家 更新时间:2023-10-30 20:12:00 25 4
gpt4 key购买 nike

根据之前的问题,我不情愿地放弃了使用 IB/Xcode4 来编辑 NSPredicateEditor 并完全在代码中完成。

在编辑字段的 GUI 方式中,关键路径可以用空格指定,例如“字段名称”,这使它们可以作为“fieldName”样式的关键路径,同时仍然在 UI 中以空格显示它们。我如何在代码中执行此操作?当我用空格指定它们时,它们不起作用。当我在 camelCase 中指定它们时,它们可以工作但以 camelCase 显示。我只是像这样添加了一堆 NSExpressions:

[NSExpression expressionForKeyPath:@"original filename"]

最佳答案

在谓词编辑器的行 View 中获取人类可读字符串的正确方法是使用 NSRuleEditorNSPredicateEditor 的本地化功能。

如果您按照 this blog post 中的说明进行操作,您将拥有本地化编辑器所需的一切。

例如,假设您的关键路径是 fileName,您支持 2 个运算符(iscontains),并且您想要用户输入一个字符串。您最终会得到一个如下所示的字符串文件:

"%[fileName]@ %[is]@ %@" = "%1$[fileName]@ %2$[is]@ %3$@";
"%[fileName]@ %[contains]@ %@" = "%1$[fileName]@ %2$[contains]@ %3$@";

你可以使用这个文件来放入人类可读的东西,甚至重新排序:

"%[fileName]@ %[is]@ %@" = "%1$[original filename]@ %2$[is]@ %3$@";
"%[fileName]@ %[contains]@ %@" = "%3$@ %2$[is contained in]@ %1$[original filename]@";

一旦您本地化了字符串文件,您将该文件交还给谓词编辑器,它会提取翻译后的值,发挥它的魔力,一切都会正确显示。

关于objective-c - NSPredicateEditorRowTemplate,用空格指定关键路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5943103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com