3

如果我使用 Xcode 的“在工作区中查找/替换”,它似乎会跳过 XIB 文件中 UIViews 中包含的任何文本。

无论如何要在 Xcode 中执行此操作,还是我需要使用其他工具?

谢谢!

4

4 回答 4

2

XCode 将成功重构 IBOutlet 名称,即使它们在 nib 中连接。所以来回答你:

在对文本选择 Find/Replace 之前,先看看 Xcode 是否会改用 Refactor。它不会重构某些东西(例如枚举和#defines)。如果它会重构您的目标文本,那么选择它应该没问题。

于 2012-06-07T12:58:35.190 回答
2

您可以从命令行使用 find 和 sed

find . -name '*.xib' -type f -exec sed -i "" 's/OldText/NewText/g' {} \

例如,我只需要查找并替换所有前缀为 SC 到 MCSC 的类,我使用了:

find . -name '*.xib' -type f -exec sed -i "" 's/[[:<:]]SC/MCSC/g' {} \

[[:<:]] 表示 OS X 上的单词边界(请参阅https://stackoverflow.com/a/5734237/456366)。

于 2013-11-14T20:35:10.593 回答
1

如果文本/字符串替换不是文件,则查找和替换 Xcode 的选项。

如果你想这样做,你可以拥有你的 shell 脚本/苹果脚本。

于 2012-06-07T12:56:54.393 回答
1

如果您确实有很多想要查找/替换的文本,您可能会发现IBTool 很有用

出于翻译原因,它通常用于将文本从/导入到 .XIB,但它也应该满足您的需求。

您可以在iPhone Applications Localization Guide中查看 IBTool 使用示例。您会对指南的第 2 点和第 5 点感兴趣。

  • 您使用 IBTool 导出字符串
  • 您确实在任何文本编辑器中查找/替换
  • 你重新导入字符串
于 2012-06-07T12:57:09.370 回答