この質問の上位コメントの1つは、具体的に次のように尋ねています。
すべての回答が同じ種類のアイデアについて言及していますが、ソースにIBAction / IBOutletを含めない場合、Interface Builderが同じように機能するように見える理由は誰にも説明されていません。IBActionとIBOutletには別の理由がありますか、それともそれらをオフのままにしても問題ありませんか?
この質問はNSHipsterによってよく答えられています。
IBAction
https://nshipster.com/ibaction-iboutlet-iboutletcollection/#ibaction
2004年には(そしておそらく以前にも)、Interface Builderがメソッドに通知するためにIBActionは必要なくなりました。署名付きのメソッドはすべて-(void){name}:(id)sender
アウトレットペインに表示されます。
それでも、多くの開発者は、特定のメソッドがアクションによって接続されていることを示すために、メソッド宣言でIBAction戻り値型を引き続き使用すると便利だと感じています。ストーリーボード/ XIBを使用していないプロジェクトでも、IBActionを使用してターゲット/アクションメソッドを呼び出すことができます。
IBOutlet:
https://nshipster.com/ibaction-iboutlet-iboutletcollection/#iboutlet
IBActionとは異なり、IBOutletは引き続き必要です、ストーリーボードまたはXIBのオブジェクトをコードのプロパティに接続するために。
IBOutlet接続は通常、ビューまたはコントロールとその管理ビューコントローラーの間に確立されます(これは、ビューコントローラーがレスポンダによって実行する対象となる可能性があるIBActionに加えて行われることがよくあります)。ただし、IBOutletを使用して、別のコントローラーや、参照しているビューコントローラーからアクセスできるプロパティなどのトップレベルのプロパティを公開することもできます。