目前我正在开发一个软件,目前它是 100% 使用 iPhone 3.0 SDK 用 Objective-C 编写的。
我来到了一个十字路口,我需要做很多事情或字符串连接,更具体地说,是 NSString 连接,到目前为止,我一直在这样做:
Objective-C 字符串连接:
NSString *resultantString = (NSMutableString*)[@"Hello " stringByAppendingString: @"World"];
现在您可以想象,当我尝试将 6 个 NSString 连接在一起时,这将变得非常难以阅读。
起初我考虑在一个 Objective-C++ 类中混合来做我的字符串连接并将它交给我的 Objective-C 类,然后我可以使用 C++ 的简单字符串连接,例如:
C++ 字符串连接:
string cppString = "Hello" + "World" + "see" + "easy!";
我可以使用C字符数组,但这会更难阅读。
然后让我感到震惊的是,我可以在 Cocoa 中使用 Python 或 Ruby 桥接器(与基于 C 的语言相比,它们提供了正则表达式的额外好处和出色的字符串处理)。
即使我只编写了少量的 Ruby 和 Python,这对我来说也是有意义的,因为它们被称为字符串操作语言。Perl 我决定跳过,因为 Xcode 不直接支持它。
我也对性能感兴趣,所以我正在寻找最快的方法来进行字符串连接。
所以我该怎么做?我在 Objective-C 中是否缺少一些非常简单的方法来一次连接多个字符串,比如 10 个字符串?还是我的想法是使用 Python 或 Ruby 类方法返回连接或正则表达式修改的字符串,而不像听起来那么疯狂?也许我什至错过了另一种方法来做到这一点?
更新: 是的。似乎我很疯狂地考虑引入另一种语言运行时来进行字符串操作,特别是因为我注意到我关心速度。添加桥可能比简单地使用 NSString/NSMutableString 慢得多。