4

ソース コードで文字列オブジェクトを作成する最も簡単な方法は、Objective-C の @"..." コンストラクトを使用することです。

NSString *temp = @"/tmp/scratch";

この方法で文字列定数を作成する場合は、UTF-8 文字を使用する必要があることに注意してください。このようなオブジェクトはコンパイル時に作成され、プログラムの実行中に存在します。コンパイラは、このようなオブジェクト定数をモジュールごとに一意にし、割り当てを解除することはありませんが、他のオブジェクトと同じように保持および解放できます。他の文字列と同じように、メッセージを文字列定数に直接送信することもできます。

BOOL same = [@"comparison" isEqualToString:myString];

これは、 Creating Strings in ObjC ドキュメントからの引用です。

applicationA で異なる @"" 文字列をテストしました。また、applicationA が使用した libB もテストしました。string=@"..." モードを使用して初期化され、同じ内容を持つすべての @"" は、すべて同じメモリ アドレスを指しています。

したがって、「モジュールごと」の意味がわかりません。「モジュールごと」とはどういう意味ですか? libベース?アプリベース?ファイルベース?

4

1 に答える 1

0

Mac OS X および iOS 開発の目的では、モジュールは単一の .m/.mm/.c/.cpp ファイルに相当します。

于 2012-06-16T13:29:04.947 に答える