NSMutableData* data1 = [[NSMutableData data] retain];
というのを見かけるのですが、[NSMutableData data] の中にあるdataは何ですか?
[ClassName MehodName] という記法は、メソッドを呼ぶためのもののようですが、リファレンスマニュアルを調べてみたところ、data という名前のクラスメソッドは、NSMutableDataには定義されていないようです。
このdataが、どのように機能しているのか教えてください。
このdataはメソッドではなくインスタンスですね。
まず、NSMutableDataのインスタンスを作成しておき、
appendData:というメソッドでデータを追加することになると思います。
[NSMutableData dataWithLength:0]と同じです。
中身が空っぽのNSMutableDataオブジェクトです。
宣言すらされていないdataというリテラルを中身が空のNSMutableDataオブジェクトとして使えるという事ですか?それとも、dataというのは、そういう目的で使用するための予約語だったりするのかな?
この角括弧 [ ] で囲われた記法はメソッド呼び出しのものだと思っていたのですが、二つ目のリテラルとしてインスタンス名を記述するのは初めて見ました。角括弧内でクラス名/オブジェクト名に続いてインスタンス変数を記述するとどうなるのか今イチ良く理解できないのですが、これについてどういう文法なのか解説しているサイトなどご存知でしたら教えていただけると非常に嬉しいです。