現在、私はiPhone 3.0 SDKを使用してObjective-Cで100%作成されているソフトウェアに取り組んでいます。
私はかなりの量または文字列の連結、より具体的にはNSStringの連結を行う必要がある交差点に到達しました。これまでのところ、次のようにしています。
Objective-Cの文字列連結:
NSString *resultantString = (NSMutableString*)[@"Hello " stringByAppendingString: @"World"];
ご想像のとおり、6つのNSStringを連結しようとすると、これを読むのが非常に難しくなります。
最初は、Objective-C ++クラスでミキシングして文字列の連結を行い、それをObjective-Cクラスに戻すことを検討しました。その後、次のようなC++の簡単な文字列連結を使用できます。
C ++文字列の連結:
string cppString = "Hello" + "World" + "see" + "easy!";
Cのchar配列を使用することもできますが、それは少し読みにくいでしょう。
次に、CocoaでPythonまたはRubyブリッジを使用できることに気付きました(これにより、正規表現の追加ボーナスと、Cベースの言語よりも優れた文字列処理が提供されます)。
文字列操作言語として請求されるため、RubyとPythonを少量しかコーディングしていなくても、これは私には理にかなっています。Perl Xcodeで直接サポートされていないため、スキップすることにしました。
パフォーマンスにも興味があるので、文字列の連結を行うための最速の方法を探しています。
だから私は何をすべきですか?一度に多くの文字列(たとえば10文字列)を連結するためにObjective-Cに欠けている非常に簡単な方法はありますか?または、連結または正規表現で変更された文字列を返すPythonまたはRubyクラスのメソッドを使用するという私の考えは、思ったほど狂っていませんか?おそらく私はこれを行うための別の方法を逃したことさえありますか?
更新: はい。特に速度に関心があることに気付いたので、文字列操作を行うために別の言語のランタイムを取り込むことを考えるのはかなり頭がおかしいようです。ブリッジの追加は、単にNSString/NSMutableStringを使用するよりもおそらくはるかに遅くなります。