1 行バージョンの利点は、一時的な中間変数を作成する必要がないことです。これは、これらの中間変数を他に使用しない場合に特に役立ちます。場合によっては、ワンライナーを使用した方がきれいに見えますが、他の状況では不格好に見えることがあります. 従うべき厳格なルールはありません。それは完全にあなた自身の美学次第です。個人的には、あなたのシナリオでは 1 行のバージョンを選択しますが、同意しない人もいるでしょう。
ワンライナーを避けることがわかっているのは、イニシャライザ メソッドが複数の引数を取る場合です。簡単な例:
id someObject = [MyClass myClassWithThing:[Thing thingWithX:5 andY:5] supportingThing:[SupportingThing supportingThingWithString:@"Tada!"] error:NULL];
一部の人々は、次のような東ポーランドのクリスマス ツリー表記法を使用することを好みます。
id someObject = [MyClass myClassWithThing:[Thing thingWithX:5 andY:5]
supportingThing:[SupportingThing supportingThingWithString:@"Tada!"]
error:NULL];
ここでも、従うべきルールはありません。Objective-C にはクラスとメソッドの命名規則がありますが、ネストされたメッセージ送信の規則にはまだ遭遇していません。
何よりもまず、コードの可読性と保守性。