plist中的变量替换 - 我可以定义一次值并在手动维护的plist中重用它吗?

时间:2013-11-25 03:48:24

标签: ios objective-c variables inheritance plist

我有一个手动维护的属性列表,它定义了相同类型的对象数组。对象具有许多属性,其中一个属性是正则表达式字符串。一些对象共享一个共同的正则表达式,我的问题是我必须在文件的多个位置维护相同的正则表达式,这很容易出错。

有没有办法定义一次正则表达式并使用变量替换来确保它在plist中的正确对象上设置?

1 个答案:

答案 0 :(得分:2)

如果没有一个属性并且必须确定何时进行替换,那么你有两个属性。一个是"regex",您当前正在使用,另一个是"namedRegex"。在plist的另一部分中,您可以定义所有命名的正则表达式。

"namedRegexes" = {
  "regex1" = ".*";
  "regex2" = "[0-9]*";
  …
}
…
"objects" = {
    "object1" = {
        "regex" = "[A-Z]*";
        …
    };
    "object2" = {
        "namedRegex" = "regex1";
        …
    }
    …
}

在运行时,您需要查找正则表达式,如果不存在,则查找namedRegex。如果有namedRegex,则在namedRegexes中查找该名称。

相关问题