これは、ストーリーボードが導入されるまでは対処する必要がなかった問題です。UI で競合が発生する可能性がある場合は、2 人の開発者が同時に同じ XIB ファイルで作業しないようにしていました。XIB の競合を解決しなかった理由は、問題となる副作用が発生する可能性があるためです (XIB は XML 形式で表されるため、2 つのバージョンをマージする「適切な」方法はありません)。
現在、すべての UI 要素が同じ .storyboard ファイル内にあるため、この問題に直面しています。プロジェクト内の 2 つの UI 要素を同時に操作できないため、並行して作業することが非常に困難になります。
この問題に対処する方法について何か提案はありますか? ご協力に感謝いたします。
ベストアンサー1
ストーリーボードを複数のストーリーボードに分割します。
アプリにストーリーボードを 1 つだけ含める必要はありません。ストーリーボードをモジュール ストーリーボードに分割します。 を使用して、+storyboardWithName:bundle:
ストーリーボード モジュールを読み込むことができます。
見る:UIStoryboard のベストプラクティスその他の優れたストーリーボードのアイデアについては、こちらをご覧ください。
アップデート
これは問題に対する完全な解決策ではないことに注意することが重要です。巨大なクラスを小さなモジュールに分解するときにソース コードでマージ競合が発生する可能性を完全に回避できないのと同様に、ストーリーボードのマージ競合が発生する可能性も回避できません。問題は管理可能になるまで、その可能性を減らすことが目的です。
大規模なコードベースでは、マージが困難な状況になることが常にあります。適切に分解されたソリューションは、競合の数を減らし、必要なロックアウトの数を最小限に抑えます。